Итак, я немного осмотрелся и вижу, как вы ДОЛЖНЫ это делать, но для меня это просто не работает.
Мне нужно иметь возможность установить альфу RelativeLayout как в XML, так и в коде. Для моего XML у меня есть следующее
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/player_controls"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:alpha="0.0">
<RelativeLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/player_controls_touch_me"
>
</RelativeLayout>
</RelativeLayout>
Я получаю сообщение об ошибке: no resource identifier found for attribute 'alpha' in package 'android'
Кроме того, на основе документации Android я должен иметь возможность вызывать setAlpha(double)
для любого объекта View, но когда я пытаюсь сделать этот вызов для RelativeLayout, он сообщает мне, что этот метод не определен для этого объекта.
Почему я не могу контролировать альфа-прозрачность объекта RelativeLayout в Android? Я что-то пропустил? Спасибо!
Обновить
Хотя использование свойства видимости работает, оно не позволяет мне щелкнуть ViewGroup. Это важно для меня, потому что я использую OnTouchListener ViewGroup.
То, что я пытаюсь сделать, это иметь слой с элементами управления мультимедиа, изначально скрытыми. когда пользователь нажимает на любое место на экране, я хочу, чтобы элементы управления исчезали, а когда они снова нажимают на экран, я хочу, чтобы элементы управления исчезали. У меня эта часть уже работает. Я использую группу просмотра, которая находится поверх всего моего приложения с прикрепленным OnTouchListener, который может определить, было ли оно затронуто или нет. Моя проблема в том, что после запуска анимации, чтобы исчезнуть элементы управления, они снова появляются. Если я использую предложение @Hydrangea, я могу заставить его исчезнуть и немедленно сделать невидимым. Это дает мне желаемый эффект, но тогда ViewGroup становится неактивной, и пользователь не может заставить элементы управления вернуться (или уйти, в зависимости от того, что мы решим сделать в первую очередь).
Я надеюсь это имеет смысл.
setFillAfter(true)
в анимации, а не установка видаINVISIBLE
илиGONE
. Это сделает представление прозрачным после завершения анимации. - person Yoni Samlan   schedule 17.03.2011