gpt4 book ai didi

Android——隐藏 View

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:53 24 4
gpt4 key购买 nike

好的,所以我环顾四周,我知道你应该怎么做,但对我来说,它就是行不通。

我需要能够在 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>

我收到错误:在包“android”中找不到属性“alpha”的资源标识符

此外,根据 Android 文档,我应该能够在任何 View 对象上调用 setAlpha(double),但是当我尝试在 RelativeLayout 上进行调用时,它告诉我这个方法没有为此对象定义。

为什么我无法在 Android 中控制 RelativeLayout 对象的 alpha 透明度?我错过了什么吗?谢谢!

更新

虽然使用 visibility 属性有效,但它使我无法单击 ViewGroup。这对我很重要,因为我正在使用 ViewGroup 的 OnTouchListener。

我想要做的是有一个带有媒体控件的层,最初是隐藏的。当用户点击屏幕上的任何位置时,我希望控件淡入,当他们再次点击屏幕时,我希望控件淡出。我这部分已经在工作了。我正在使用一个 View 组,它位于我的整个应用程序之上,并附加了一个 OnTouchListener,可以确定它是否已被触摸。我的问题是,在动画运行淡出控件后,它们会重新出现。如果我使用@Hydrangea 建议,我可以让它淡出并立即变得不可见。这给了我想要的效果,但是 ViewGroup 是不可点击的,用户无法让控件返回(或离开,这取决于我们决定先做什么)。

我希望这是有道理的。

最佳答案

您需要使用 alpha 动画来淡入淡出。这将为您的布局维护触摸事件。这是一个例子

public class Main extends Activity {
/** Called when the activity is first created. */

private boolean mShowing = false;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

findViewById(R.id.textview).setOnClickListener(new OnClickListener(){

@Override
public void onClick(View arg0) {
if(mShowing){
Animation animation = new AlphaAnimation(1.0f, 0.0f);
animation.setFillAfter(true);
arg0.startAnimation(animation);
} else {
Animation animation = new AlphaAnimation(0.0f, 1.0f);
animation.setFillAfter(true);
arg0.startAnimation(animation);
}

mShowing = !mShowing;
}

});
}

这是附带的 xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:clickable="true"
/>
</LinearLayout>

关于Android——隐藏 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5228768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com