2013-05-21 72 views
2

我想弄清楚爲什麼我的偏好菜單的佈局以10英尺平板電腦上的虛假方式在橫向模式下使用時顯示。它看起來像複選框右邊的行實際上是在它們的左邊。你可以在這裏看到這個http://imageshack.us/photo/my-images/109/schnappschuss2013052109.png/10英寸平板電腦上的偏好菜單

在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> 

,並loded有:

@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); 

     } 

    } 
+0

你能解決這個問題嗎? – Necronet

回答

2

我有同樣的問題。我的解決方案是從通常的Activity延伸SettingsActivity,而不是從PreferenceActivity。但SettingsFragment當然應該延伸PreferenceFragment。它幫助了我,希望這也能解決你的問題。

+0

謝謝,這爲我修好了! – user2404467

相關問題