好的,所以我做了一些环顾四周,我知道你应该怎么做,但对我来说,它只是行不通。
我需要能够在 XML 和代码中设置 RelativeLayout 的 alpha。对于我的 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 上进行调用时,它告诉我没有为此对象定义此方法。
为什么我无法在 Android 中控制 RelativeLayout 对象的 alpha 透明度?我错过了什么吗?谢谢!
更新
尽管使用可见性属性有效,但它使我无法单击 ViewGroup。这对我很重要,因为我正在使用 ViewGroup 的 OnTouchListener。
我想要做的是有一个带有媒体控件的层,最初是隐藏的。当用户在屏幕上任意点击时,我希望控件淡入,当他们再次点击屏幕时,我希望控件淡出。我已经有这部分工作了。我正在使用一个视图组,它位于我的整个应用程序之上,并附加了一个 OnTouchListener,可以确定它是否被触摸。我的问题是动画运行淡出控件后,它们重新出现。如果我使用@Hydrangea 建议,我可以让它淡出并立即变得不可见。这给了我想要的效果,但是 ViewGroup 是不可点击的,用户无法让控件返回(或离开,这取决于我们决定先做什么)。
我希望这是有道理的。