自定义CheckBoxPreference,如何禁用标题和摘要点击

时间:2017-11-14 19:27:08

标签: android sharedpreferences android-preferences preferences preferenceactivity

我讨厌常规CheckBoxPreference,因为您可以点击首选项上的任意位置并切换值。我正在尝试创建一个自定义CheckBoxPreference,我只允许单击该复选框,并忽略标题或摘要。但是,我似乎无法弄清楚这一点。

我的自定义CheckBoxPreference看起来像标准格式:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

    <LinearLayout
        android:id="@+id/talkButtonText"
        android:layout_width="0dp"
        android:layout_weight="85"
        android:layout_height="fill_parent"
        android:orientation="vertical">

    <TextView
        android:id="@android:id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="5dp"
        android:gravity="left"
        android:textColor="#FFFFFF"
        android:textSize="24sp" />

    <TextView
        android:id="@android:id/summary"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+android:id/title"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="2dp"
        android:gravity="left"
        android:textColor="#c0c0c0"
        android:textSize="14sp" />

</LinearLayout>

<CheckBox
    android:id="@+android:id/checkbox"
    android:layout_width="0dp"
    android:layout_weight="15"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:focusable="false"
    android:clickable="false"
    android:layout_alignParentRight="true"
    android:layout_margin="16dp"/>

</LinearLayout>

目前,此功能与标准CheckBoxPreference完全相同,其中单击整个宽度上的任意位置会更改复选框值。有没有简单的方法来禁用标题和摘要被点击?

1 个答案:

答案 0 :(得分:0)

从复选框中删除clickable / focusable = false并将其添加到线性布局。