定义一个SwitchPreference,SwitchPreference使用自定义布局,要求switch在最左侧,中间是title、结束是icon
时间: 2024-01-24 22:17:01 浏览: 92
可以通过在PreferenceScreen中添加一个SwitchPreference来实现开关功能,并通过设置自定义布局来满足要求。具体步骤如下:
1. 在xml文件中定义自定义布局,例如:
```
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Switch
android:id="@+id/switch_widget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="?android:attr/textColorPrimary" />
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:contentDescription="@string/icon_description"
android:src="@drawable/ic_launcher" />
</LinearLayout>
```
2. 在PreferenceScreen中添加SwitchPreference,并设置自定义布局:
```
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<SwitchPreference
android:key="switch_preference"
android:title="Switch Preference"
android:widgetLayout="@layout/switch_preference_layout" />
</PreferenceScreen>
```
其中,android:widgetLayout属性指定了SwitchPreference使用的自定义布局。
阅读全文