我讨厌常规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完全相同,其中单击整个宽度上的任意位置会更改复选框值。有没有简单的方法来禁用标题和摘要被点击?
答案 0 :(得分:0)
从复选框中删除clickable / focusable = false并将其添加到线性布局。