- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 Material Design 应用,并且我已经为 SettingsActivity 声明了一个 xml 文件。
我遇到的问题是 PreferenceCategory
的 android:summary
标签没有显示任何摘要,即使在 settings.xml< 中声明它之后也是如此
.
这是SettingsActivity.java的截图(参见:这里没有总结):
这是SettingsActivity.java
文件的代码:
public class SettingsActivity extends AppCompatActivity {
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
SpannableString s = new SpannableString("Settings");
s.setSpan(new TypefaceSpan(this, "Roboto-Medium.ttf"), 0, s.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle(s);
// Display the fragment as the main content.
getFragmentManager().beginTransaction()
.replace(R.id.fragment_container, new SettingsFragment())
.commit();
}
public static class SettingsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener {
public static final String SHARE_APP_PREFERENCE_KEY = "prefNotify";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivity().setTheme(R.style.prefCategoryStyle);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.settings);
}
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
if (key.equals(SHARE_APP_PREFERENCE_KEY)) {
// do something
}
}
}
}
这是activity_settings.xml
文件的代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/windowBackground"
tools:context="com.abc.xyz.SettingsActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:elevation="4dp"/>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_below="@id/toolbar"
android:layout_height="match_parent"/>
</RelativeLayout>
这是settings.xml
文件的代码:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:key="prefNotification"
android:title="@string/prefNotification"
android:summary="@string/pref_notify_summary">
<CheckBoxPreference
android:id="@+id/checkBoxPref1"
android:key="checkBoxPref1"
android:summary="@string/checkBoxPref1"
android:defaultValue="false"/>
<CheckBoxPreference
android:id="@+id/checkBoxPref2"
android:key="checkBoxPref2"
android:summary="@string/checkBoxPref2"
android:defaultValue="true"/>
<CheckBoxPreference
android:id="@+id/checkBoxPref3"
android:key="checkBoxPref3"
android:summary="@string/checkBoxPref3"
android:defaultValue="false"/>
</PreferenceCategory>
</PreferenceScreen>
请告诉我这里有什么问题!
提前致谢。
最佳答案
您需要制作自己的布局来显示标题和摘要。
<PreferenceCategory
android:key="prefNotification"
android:title="@string/prefNotification"
android:summary="@string/pref_notify_summary"
android:layout="@layout/custom_preference_category">
并创建 custom_preference_category.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@android:id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/listSeparatorTextViewStyle" />
<TextView
android:id="@android:id/summary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="5dp" />
</LinearLayout>
随意调整布局以满足您的需要
关于java - 为什么即使在 settings.xml 文件中声明了 PreferenceCategory 的摘要也没有得到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32994191/
我见过这样的: 但我不明白为什么 pref 类别有一个摘要字段: (android:summary="与蔬菜相关的偏好") ? 当我使用 pref screen 时,摘要显
我有一个 Android 应用程序,我在其中使用 Preference秒。它们与 PreferenceCategory 分组的。 我的 PreferenceCategory 有键 (android:k
我需要以编程方式删除 PreferenceCategory。我可以使用以下代码删除个人首选项,但我还需要删除(禁用)整个 PreferenceCategory。 PreferenceScreen pr
有没有办法将子类别添加到 PreferenceCategory? 这是不可能的: PreferenceScreen preferenceScreen = getPreferenceManager()
我看到了很多关于这个问题的答案和线程,以及关于如何创建自定义 PreferenceCategory 的教程。什么都不适合我。我的主题只是没有应用。 PreferenceActivity 类: publ
几天前,我向现有的 Android 应用程序添加了一个新的 SwitchPreference。一切似乎都很好,直到我遇到一个非常奇怪的问题 - 当向上滚动设置屏幕时 - 切换首选项会自动重置! 当查看
我正在尝试在代码首选项类别中创建。它工作正常。但是,如果我尝试将首选项添加到我的类别中,我会得到 NullPointer 异常。 Preference p1 = new Prefere
我曾经使用以下样式来设置我的 preferenceCategory . 但看起来,在 Lollipop 上运行时不会应用背景颜色. match_parent wrap_content
我正在开发一个 Material Design 应用程序并且我已经为设置选项声明了一个 xml 文件。我已成功完成此任务,但在运行并从菜单中打开 SettingsActivity 后,它显示如下: 这
我想知道有没有办法改变 PreferenceCategory android:title="我的名字" 以编程方式和/或 ListPreference android:title="我的名字" 以编程
这是: preferences.xml BasicSettingsActivity.java public class BasicSett
所以我一直在尝试使用 androidx.preference.PreferenceFragmentCompat 创建一个设置 Activity ,并且一切正常。 但是由于某种原因,偏好类别和偏好本身都
我正在使用支持首选项库,每个 PreferenceCategory 用空白填充整个屏幕,然后显示它包含的首选项。我已经尝试将 PreferenceCategory 样式属性 - layout_heig
我有一个 android.support.v4.preference.PreferenceFragment它使用以下 PreferenceScreen: 显示
我想为我的偏好 fragment 屏幕V14设置标题样式。 这就是我想要的: 我已经关注了 Custom PreferenceCategory Headings 我确实设法获得了相同的屏幕,但使用了
我有一个扩展 PreferenceActivity 的 Activity 。 我的主题:android:theme="@android:style/Theme.Light.NoTitleBar.Ful
这应该很容易弄清楚,但我一直无法在任何地方找到答案。 我正在尝试使常规 TextView 看起来非常类似于任何应用程序设置中显示的首选项类别标题。这就是我的意思: 现在,我已经尝试了一些东西,但我似乎
这是我的首选项 xml 文件:myPreferences.xml: 这是我在 AndroidManifest.xml 中的首选项 Activity 声
我已经在 SO 上看到了与此问题相关的所有问题,但没有一个对我有用。我正在尝试删除从 PreferenceFragment 类中的 xml 文件加载的首选项,但它不会删除该首选项。 这是我的pref_
我正在开发一个 Material Design 应用,并且我已经为 SettingsActivity 声明了一个 xml 文件。 我遇到的问题是 PreferenceCategory 的 androi
我是一名优秀的程序员,十分优秀!