【问题标题】:Multine line label on settings设置上的多行标签
【发布时间】:2018-08-02 13:14:21
【问题描述】:

我想用带有标题和副标题的项目创建一个设置活动。

我已经检查了很多文档,甚至这里的其他帖子,人们说这是不可能的......android默认设置页面有很多:

对不起葡萄牙语的图片,但写的内容无关紧要,关键是基于android的设置页面有很多标题/字幕项(并且在许多其他屏幕中都会发生)

我想使用android默认的Preference api来实现它。这可能吗?

【问题讨论】:

    标签: android sharedpreferences android-preferences android-settings


    【解决方案1】:

    是的,这是可能的。以下是一种快速的解决方案(可能会根据您的需要进行改进和调整):

    public class SettingsActivity extends Activity {
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_settings);
            if (savedInstanceState == null) {
                getFragmentManager().beginTransaction()
                        .add(R.id.settings_fragment, new PrefsFragment()).commit();
            }
        }
    
        public static class PrefsFragment extends PreferenceFragment {
    
            public PrefsFragment(){}
    
            @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
    
                // Load the preferences from an XML resource
                addPreferencesFromResource(R.xml.settings);
            }
        }
    }
    

    activity_settings.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <fragment
            android:id="@+id/settings_fragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:name="com.vb.myapplication.SettingsActivity$PrefsFragment" />
    </LinearLayout>
    

    settings.xml

    <?xml version="1.0" encoding="utf-8"?>
    <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
        <PreferenceCategory
            android:key="keyCategory"
            android:title="titleCategory">
    
            <CheckBoxPreference
                android:key="keyCheckPreference"
                android:title="titlePreference"
                android:summary="summaryPreference"
                android:defaultValue="false"/>
        </PreferenceCategory>
    </PreferenceScreen>
    

    【讨论】:

    • 我已经准备好了所有这些,但我找不到的是android:summary,非常感谢。很抱歉让你为获得这个小领域而写了这么多
    猜你喜欢
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 2023-03-03
    • 2013-03-10
    • 1970-01-01
    相关资源
    最近更新 更多