答案 0 :(得分:2)
您可以使用SwitchPreference
轻松实现此目的。
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<SwitchPreference
android:defaultValue="true"
android:key="key_data_saver"
android:title="Data Saver"
android:summary="Enable click-to-download for images and videos when using mobile data" />
</PreferenceScreen>
这是一个有用的教程:Android Implementing Preferences Settings Screen
或强>
如果您想在没有SwicthPreference
的情况下创建自己的广告,请对每个RecyclerView
项使用custom layout
row
。
以下是您预期的行项目布局XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<Switch
android:id="@+id/switchRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:checked="true"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_toLeftOf="@id/switchRight"
android:layout_marginRight="8dp">
<TextView
android:id="@+id/textTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="18sp"
android:text="Data Saver"/>
<TextView
android:id="@+id/textDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:textColor="#727272"
android:textSize="16sp"
android:text="Enable click-to-download for images and videos when using mobile data"/>
</LinearLayout>
</RelativeLayout>
<强>输出:强>
希望这会有所帮助〜
答案 1 :(得分:0)
实现此目的的最佳方法是使用PreferenceFragment。
您可以使用所有设置创建XML文件。 (假设您可以在“res”)
中创建“XML”文件夹中的“settings.xml”<?xml version="1.0" encoding="utf-8"?>
<PreferenceCategory android:title="@string/settings_category_app">
<SwitchPreference
android:defaultValue="false"
android:key="@string/settings_notification_switch"
android:summary="Enable Click to download images and videos..."
android:title="Data Saver" />
</PreferenceCategory>
更新这是一个静态类,因为我在主要活动
中创建了之后,您可以使用以下命令将此资源添加到SettingsFragment:
public static class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
}
}
然后您可以将此片段用作任何其他片段。 (例如在抽屉上)
答案 2 :(得分:0)
TableLayout在你的情况下不需要,因为你没有任何表。你必须改为使用RelativeLayout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:height="wrap_content"
android:width="match_parent"
>
<TextView
android:height="wrap_content"
android:width="wrap_content"
android:id="@+id/tvTitle"
android:layout_alignParentLeft="true"
android:text="Title"
/>
<TextView
android:height="wrap_content"
android:width="wrap_content"
android:id="@+id/tvSubTitle"
android:layout_below="@id/tvTitle"
android:text="Subtitle"
/>
<ToggleButton
android:height="wrap_content"
android:width="wrap_content"
android:id="@+id/tbSwitch"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="switch"
/>
/>
对于ToggleButton的IOS样式,您可以使用此库:https://github.com/kyleduo/SwitchButton