繁体   English   中英

我的Android偏好设置存在布局问题

[英]Layout issue with my android preferences

最近开始搞弄Android,想在我的应用程序中创建一个偏好设置屏幕。 为此,我正在使用android UI设置指南 但是,当我将SettingsFragment加载到屏幕上时,第一个PreferenceCategory位于操作栏的后面。 我看不出是什么原因造成的。 我之所以知道这一点,仅是因为我隐藏了操作栏并在后面看到了它。 如果我可以稍微降低一点,我会很高兴的。 但是对这些首选项的格式了解不多。

这是我为创建此文件所做的工作。 我需要这个片段的布局吗? 如果是这样,我该如何添加?

SettingsFragment.java

public class SettingsFragment extends PreferenceFragment {
    @Override
    public void onCreate(Bundle saveInstanceState){
        super.onCreate(saveInstanceState);

        ((SettingsActivity) getActivity()).getActionBar().show();
        ((SettingsActivity) getActivity()).getActionBar().setTitle(" Settings");

        //Loading the preference XML for the user profile settings
        addPreferencesFromResource(R.xml.preferences);

    }

}

SettingsActivity.java

public class SettingsActivity extends Activity implements SharedPreferences.OnSharedPreferenceChangeListener {

    //@TargetApi(Build.VERSION_CODES.HONEYCOMB)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

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

    }

的preferences.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

    <PreferenceCategory
        android:title="PROFILE SETTINGS"
        android:key="pref_user_settings">
        <Preference
            android:key="perf_username"
            android:summary="geddon"
            android:title="@string/perf_username">
        </Preference>
        <Preference
            android:key="perf_gender"
            android:summary="Female"
            android:title="Gender">
        </Preference>
        <Preference
            android:key="perf_email"
            android:summary="geddon@gmail.com"
            android:title="Email">
        </Preference>

    </PreferenceCategory>

    <PreferenceCategory
        android:title="@string/perf_user_settings"
        android:key="pref_key_preferences_settings">

        <ListPreference
            android:key="perf_country"
            android:title="Country"
            android:dialogTitle="Country"
            android:defaultValue="USA">
        </ListPreference>

        <Preference
            android:key="perf_password"
            android:summary="password"
            android:title="Change Password">
        </Preference>

    </PreferenceCategory>

</PreferenceScreen>

截图 在此处输入图片说明

尝试在活动中设置布局。

setContentView(R.layout.activity_layout);

其中activity_layout只是一个空的framelayout或其他内容。 然后在活动中显示操作栏。 而且我认为这可以做到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM