【问题标题】:Preference Menu on 10 inch tablet10 英寸平板电脑上的偏好菜单
【发布时间】:2013-05-21 08:10:41
【问题描述】:

我试图弄清楚为什么在横向模式下使用时,我的首选项菜单的布局在 10 英寸平板电脑上以错误的方式显示。看起来复选框右侧的行实际上位于它们的左侧。你可以在这里看到http://imageshack.us/photo/my-images/109/schnappschuss2013052109.png/

在 7' 平板电脑上,一切正常。

我的菜单是这样的:

    <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory 
        android:title="@string/pref_message"
        android:key="pref_key_message_settings">
        <CheckBoxPreference
            android:key="pref_key_add_timestamp"
            android:summary="@string/pref_summary_addTimestamp"
            android:title="@string/pref_addTimestamp"
            android:defaultValue="true"/>
        <ListPreference
            android:dependency="pref_key_add_timestamp"
            android:summary="@string/pref_summary_timestamp_option"
            android:key="pref_key_timestamp_option"
            android:title="@string/pref_timestampOption"
            android:dialogTitle="@string/pref_timestampOptionDialog"
            android:entries="@array/pref_timestampArray"
            android:entryValues="@array/pref_timestampValues"
            android:defaultValue="Time" />
        <CheckBoxPreference
            android:key="pref_key_add_newline"
            android:summary="@string/pref_summary_addNewLine"
            android:title="@string/pref_addNewLine"
            android:defaultValue="true"/>
        <ListPreference
            android:dependency="pref_key_add_newline"
            android:key="pref_key_newline_option"
            android:summary="@string/pref_summary_newline_option"
            android:title="@string/pref_newLineOption"
            android:dialogTitle="@string/pref_newLineOptionDialog"
            android:entries="@array/pref_newLineArray"
            android:entryValues="@array/pref_newLineValues"
            android:defaultValue="LF" />
        <CheckBoxPreference
            android:key="pref_key_clear_text"
            android:summary="@string/pref_summary_clearText"
            android:title="@string/pref_clearText"
            android:defaultValue="false"/>
    </PreferenceCategory>
 <PreferenceCategory 
        android:title="@string/pref_storage"
        android:key="pref_key_storage_settings">
        <EditTextPreference
            android:key="pref_key_change_name"
            android:summary="@string/pref_summary_editFilename"
            android:title="@string/pref_editFilename"
            android:defaultValue="history"/>
        <CheckBoxPreference
            android:key="pref_key_add_date"
            android:summary="@string/pref_summary_addDate"
            android:title="@string/pref_addDate"
            android:defaultValue="true"/>
        <CheckBoxPreference
            android:key="pref_key_add_time"
            android:summary="@string/pref_summary_addTime"
            android:title="@string/pref_addTime"
            android:defaultValue="true"/>     
       <at.rtcmanager.ConfirmPreference
           android:key="pref_key_clear_history"
            android:summary="@string/pref_summary_clearHistory"
            android:title="@string/pref_clearHistory"/>
</PreferenceCategory>
<PreferenceCategory 
        android:title="@string/pref_time"
        android:key="pref_key_time_settings">  
        <CheckBoxPreference
            android:key="pref_key_autosend_time"
            android:summary="@string/pref_summary_austosendTime"
            android:title="@string/pref_autosendTime"
            android:defaultValue="false"/>
        <ListPreference
            android:key="pref_key_mode_sentTime"
            android:title="@string/pref_mode_sentTime"
            android:summary="@string/pref_summary_mode_sentTime"
            android:dialogTitle="@string/pref_modeSentTimeDialog"
            android:entries="@array/pref_sentTimeModeArray"
            android:entryValues="@array/pref_sentTimeValues"
            android:defaultValue="10Byte" />
</PreferenceCategory> 
<PreferenceCategory 
        android:title="@string/pref_about"
        android:key="pref_key_settings_about">  
        <Preference android:title="@string/prefs_about_app" >
            <intent android:action="AboutActivity"/>
        </Preference>

</PreferenceCategory>  
</PreferenceScreen>

并带有:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Show the Up button in the action bar.
        getActionBar().setDisplayHomeAsUpEnabled(true);

        // Display the fragment as the main content.
        getFragmentManager().beginTransaction()
                .replace(android.R.id.content, new SettingsMenuFragment())
                .commit();



    }

    public static class SettingsMenuFragment extends PreferenceFragment {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            // Load the preferences from an XML resource
            addPreferencesFromResource(R.xml.app_prefs);

        }

    }

【问题讨论】:

  • 你能解决这个问题吗?

标签: android menu tablet preference


【解决方案1】:

我遇到了同样的问题。我的解决方案是从通常的Activity 扩展SettingsActivity,而不是从PreferenceActivity。但是SettingsFragment 当然应该扩展PreferenceFragment。它帮助了我,希望这也能解决你的问题。

【讨论】:

  • 谢谢,这已经帮我解决了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-01
  • 1970-01-01
  • 2013-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多