android - 什么时候应该使用 android :clickable?

标签 android clickable

我们什么时候应该在 XML 中使用 android:clickable?我们应该永远吗?
这样的 XML 声明和代码内声明 myButton.setOnClickListener 之间有什么区别吗?我已经阅读了文档,但我无法找出何时以及为什么应该使用此属性。

附言。我正在实现一个广告 SDK,发现他们的开发人员正在将 android:clickableWebView 一起使用,我很好奇他们为什么要使用它。

最佳答案

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/

相关文章:

java - 如何在Android中调用与MainActivity不同的Activity的方法?

android - 使用 Google Voice 发送短信

android - GridView 内的 ImageButton 不可点击

Javascript 可点击项在 Firefox 中不起作用

android - 如何为 ImageView 设置可点击区域?

android - 获取Android App的Linux UID

java - 错误: No resource found that matches the given name (at 'background' with value '@drawable-mdpi/1.jpg' )

Android 动态自动完成 - 小修复 - 附加代码

android - 如何在 Android 中禁用 SlidingDrawer 后面的 View ?

ios - 无法在 UITextView 中使 URL 可点击