หากคุณใช้PreferenceFragmentCompatคุณสามารถตั้งค่า visiblity เป็น xml
ค่ากำหนดใน xml ของคุณจะถูกแปลงเป็นเวอร์ชัน AppCompat โดยอัตโนมัติ จากนั้นคุณสามารถใช้แอตทริบิวต์" app: isPreferenceVisible " ใน xml ของคุณ
การตั้งค่า. xml
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<CheckBoxPreference
android:defaultValue="false"
android:key="show.navigation"
android:title="Show navigation"
app:isPreferenceVisible="false" />
...
แอตทริบิวต์ได้รับการบันทึกไว้ที่https://developer.android.com/guide/topics/ui/settings/components-and-attributes
บันทึกการเพิ่มPreferenceFragmentCompat
ไว้ที่https://developer.android.com/guide/topics/ui/settings/#inflate_the_hierarchy
ตัวอย่าง:
public class MySettingsActivity extends AppCompatActivity {
public static class MySettingsFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.preferences, rootKey);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.settings_container, new MySettingsFragment())
.commit();
}
}