我一直在尝试创建自定义布局Preference
来为PreferenceFragment
. 对于只有标题和摘要的简单偏好,我可以通过提及具有 android id 的布局资源来做到这一点,例如:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="70dp">
<TextView
android:id="@android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:textColor="@color/primaryTextColour"/>
<TextView
android:id="@android:id/summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:textColor="@color/secondaryTextColour"/>
</LinearLayout>
这对于喜欢EditTextPreference
或ListPreference
. 现在,我想对SwitchPreferenceCompat
. 我找不到的是android:id
用于 switch/toggle in 的SwitchPreferenceCompat
。如果我使用上面提到的布局,它可以工作,但我再也看不到开关了。我为此目的编写的布局是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="100"
android:minHeight="70dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:weightSum="80"
android:orientation="vertical">
<TextView
android:id="@android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:textColor="@color/primaryTextColour"/>
<TextView
android:id="@android:id/summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:textColor="@color/secondaryTextColour"/>
</LinearLayout>
<android.support.v7.widget.SwitchCompat
android:id="@android:id/??"
android:layout_width="wrap_content"
android:weightSum="20"
android:layout_height="wrap_content" />
</LinearLayout>
android:id
我应该在这里切换什么SwitchCompat
?