Mga*_*erz 5 android padding windowed preference preferenceactivity
我正在写一个应用程序.它需要在旧的Android操作系统上运行才有用.我使用PreferencesActivity编写了首选项屏幕,该PreferencesActivity填充了包含PreferenceScreen的options.xml文件.它没有偏好子菜单(因此PreferenceFragment没有提供真正的好处).
在Android 2.1(2.2和2.3,尚未在ICS上测试过)中,屏幕在横向上显示如下:

但是在Jellybean上,它看起来像这样:

看起来很糟糕.我没有定义任何布局,只是标准的addPreferencesFromResource().有谁知道这可能是什么原因?还是解决方案?
我的onCreate看起来像这样:
protected void onCreate(Bundle savedInstanceState) { //
super.onCreate(savedInstanceState);
Log.i(TAG, "Options Activity Loaded.");
setTitle(getString(R.string.optionsTitle));
addPreferencesFromResource(R.xml.options);
setupListeners();
}
Run Code Online (Sandbox Code Playgroud)
其他所有内容只会生成Preference对象,并指定方法在单击时执行操作.我不想为PreferenceFragment和PreferenceActivity创建代码.我不明白,如果最大版本的市场份额没有该API,谷歌希望我们使用Fragment API,他们不会将它添加到兼容性库中.
您的应用程序可以支持 SharedPreferences 的旧功能和新功能。您可以为旧首选项提供一个类,也可以为新首选项提供一个类。它没有更多的代码。您可以使您的应用程序向后兼容,如下所示:
Class spc = Build.VERSION_SDK_INT < Build.VERSION_CODES.HONEYCOMB ?
oldPreferenceActivity.class : newFragmentPreferenceActivity.class;
Intent i = new Intent (this, spc);
startActivityForResult (i, SHOW_PREFERENCES);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1100 次 |
| 最近记录: |