我正在制作一个小游戏,我目前正在制作一个用于更改设置的菜单。我使用PreferenceScreen和一个ListPreference创建了一个新活动和一个片段。唯一的问题是,当我单击主活动中的按钮以启动设置活动时,它不会放在屏幕顶部,而是放在屏幕的中间位置。我希望这个活动位于屏幕的顶部,我该怎么做?
屏幕截图:http://i68.tinypic.com/288cue.png (需要10个声望直接发布)
RES / XML /的preferences.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference
android:dependency="pref_sync"
android:key="pref_sync"
android:title="@string/pref_syncConnectionType"
android:dialogTitle="@string/pref_syncConnectionType"
android:entries="@array/pref_syncConnectionTypes_entries"
android:entryValues="@array/pref_syncConnectionTypes_values"
android:defaultValue="@string/pref_syncConnectionTypes_default" />
</PreferenceScreen>
SettingsActivity:
package com.example.eiria.pressit;
import android.app.Activity;
import android.os.Bundle;
public class SettingsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
}
}
SettingsFragment:
package com.example.eiria.pressit;
import android.os.Bundle;
import android.preference.PreferenceFragment;
public class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
答案 0 :(得分:0)
我创建了activity_settings.xml并将根视图设置为一个垂直LinearLayout,其宽度和高度设置为1000dp。虽然它不是一个好的,但这是我找到的唯一可行的解决方案。
修改强> 我在设置活动中有一个按钮,我想在屏幕底部对齐。 layout_gravity =“bottom”不起作用,并且会因为LinearLayout高度为1000dp而离开屏幕。所以我改为RelativeLayout并将宽度和高度设置为match_parent,然后将按钮的alignParentBottom设置为true和boom,设置活动填充整个屏幕高度。不幸的是,将按钮的alignParentLeft / Start或alignParentRight / End设置为true不会使设置活动填满整个屏幕宽度。