android - xml首选项屏幕取决于条件

时间:2016-05-22 13:20:17

标签: android xml conditional hardware android-preferences

我的应用的每个功能都需要PrefrenceScreen

有些功能取决于设备硬件,我需要检查设备是否支持硬件(例如 - Temperature Sensor)。

我的偏好设置屏幕位于xml:

<PreferenceScreen
    android:summary="@string/pref_title_call_alert_settings"
    android:theme="@style/AppTheme.NoActionBar"
    android:title="@string/pref_title_call_alert">
    <CheckBoxPreference
        android:defaultValue="true"
        android:key="@string/call_alert_is_active_key"
        android:summary="@string/call_alert_summary"
        android:title="@string/pref_title_active" />
    <PreferenceCategory android:title="@string/pref_title_settings">
        <RingtonePreference
            android:defaultValue="content://settings/system/notification_sound"
            android:dependency="@string/call_alert_is_active_key"
            android:key="@string/call_alert_notifications_ringtone_key"
            android:ringtoneType="notification"
            android:showDefault="true"
            android:title="@string/pref_title_ringtone" />
        <SwitchPreference
            android:defaultValue="true"
            android:dependency="@string/call_alert_is_active_key"
            android:key="@string/call_alert_notifications_vibrate_key"
            android:title="@string/pref_title_vibrate" />
        <ListPreference
            android:defaultValue="10"
            android:dependency="@string/call_alert_is_active_key"
            android:entries="@array/frequency_entries"
            android:entryValues="@array/frequency_values"
            android:key="@string/call_alert_notifications_frequency_key"
            android:summary="%s"
            android:title="@string/pref_title_frequency" />
        <ListPreference
            android:defaultValue="00:30"
            android:dependency="@string/call_alert_is_active_key"
            android:entries="@array/call_alert_time_entries"
            android:entryValues="@array/call_alert_time_values"
            android:key="@string/call_alert_notifications_time_key"
            android:summary="%s"
            android:title="@string/pref_title_time_until" />
    </PreferenceCategory>
</PreferenceScreen>

我想让另一个PrefrenceScreen与此类似,但前提是该设备支持某种硬件。

我能这样做吗?

0 个答案:

没有答案