我们什么时候应该在 XML 中使用 android:clickable
?我们应该永远吗?
这样的 XML 声明和代码内声明 myButton.setOnClickListener
之间有什么区别吗?我已经阅读了文档,但我无法找出何时以及为什么应该使用此属性。
附言。我正在实现一个广告 SDK,发现他们的开发人员正在将 android:clickable
与 WebView
一起使用,我很好奇他们为什么要使用它。
最佳答案
clickable
在您需要一个 View 来消耗点击时似乎很有用,这样它们就不会转到顶 View 下方的 View 。
例如,我有一个 FrameLayout
,它在特定时间显示在底层 RelativeLayout
上。当用户单击基础 EditText
时,焦点将转移到该 EditText
。当 FrameLayout
仍在显示时真的很烦人。现在,用户不知道为什么会弹出键盘,也不知道他们在什么地方打字。
当我在 FrameLayout
中设置 clickable="true"
时,用户不会再意外点击底层的 EditText
字段。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
...>
<EditText>
<EditText>
<EditText>
<!-- FrameLayout with grayed-out background. -->
<FrameLayout
android:id="@+id/sometimes_visible_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#80808080"
android:clickable="true"
android:visibility="gone"
android:focusable="true"
...>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
...>
<View>
<View>
</LinearLayout>
</FrameLayout>
</RelativeLayout>
关于android - 什么时候应该使用 android :clickable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7817608/