Android 将alpha设置为0后,GUI元素仍然可见

Android 将alpha设置为0后,GUI元素仍然可见,android,android-activity,Android,Android Activity,我有一个按钮和一些文本,正在活动sonCreate()中将它们的字母设置为0。但是,当活动显示时,这些项目仍然可见 布局: <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TURN ON ACCESS" android:onClick="launchNotificationAccess" android:id=

我有一个
按钮和一些文本,正在
活动
s
onCreate()
中将它们的字母设置为0。但是,当
活动
显示时,这些项目仍然可见

布局:

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TURN ON ACCESS"
    android:onClick="launchNotificationAccess"
    android:id="@+id/notificationAccessButton"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="74dp"
    android:background="#ff93c5ff" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/notificationAccessText"
    android:text="Message about notification access placeholder"
    android:layout_marginTop="66dp"
    android:layout_below="@+id/notificationAccessButton"
    android:layout_alignParentEnd="true" />

如果您试图使按钮和Edittext都不可见,我会像这样使用函数setVisibility

notificationAccessMessage.setVisibility(View.INVISIBLE);
notificationAccessButton.setVisibility(View.INVISIBLE);

如果要使用alpha隐藏视图,则使用动画是有意义的

notificationAccessMessage
    .animate()             // animate
        .alpha(0f)         // to alpha = 0f
        .setDuration(300)  // in 300 ms
        .withEndAction(new Runnable {
            @Override public void run() {
                // set alpha back to 1f and hide view after animation ends
                notificationAccessMessage.setAlpha(1f);
                notificationAccessMessage.setVisibility(View.GONE);
            }
        });
否则,只需使用
setVisiblity()
方法即可

notificationAccessMessage.setVisiblity(View.GONE);
notificationAccessMessage.setVisiblity(View.GONE);