我正在使用PreferenceFragment和PreferenceScreen来显示几个设置。这在肖像模式下非常好。我的应用程序与VR护目镜一起使用。在此横向模式下,无法读取设置,因为它们位于屏幕边缘太远。我想在一个具有固定宽度和android:layout_gravity =“center_horizontal”的RelativeLayout中显示PrefernceScreen。我怎么能实现这个目标呢?
我的代码:
public class SettingsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content , new MyPreferenceFragment()).commit();
}
public static class MyPreferenceFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
...
我的首选项屏幕布局:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<ListPreference
android:defaultValue="0"
android:entries="@array/connections"
android:entryValues="@array/connectionvalues"
android:key="Connection"
android:title="PC connection" />
...