Вопрос:
Как изменить размер текста, используемый для атрибута android:title, когда элементы Preference перечислены в меню настроек?
Подробности:
Экран настроек в моем приложении хорошо выглядит на планшете Nexus 7 (Jelly Bean), но почти непригоден на телефоне Motorola Defy (Gingerbread). Я использую стандартный подход PreferenceActivity, подробно описанный в руководствах Android Dev.
Я искал в Интернете несколько дней, но не нашел решения, которое заставило бы все выглядеть по-другому.
На телефоне Android-Gingerbread;
1) текст <EditTextPreference android:title .../>
слишком большой и не переносит слова.
2) стандартные значки «стрелка вниз» рядом с каждым элементом предпочтений выглядят странно и смещены. (смещенное изображение значка)
3) тема — Holo, но большая пустая область под последним элементом предпочтений по какой-то причине имеет некрасивый светло-серый цвет.
Я попытался определить ресурсы style.xml и указать style="@style/StyleName" в файле preferences.xml, чтобы изменить атрибут android:textSize, но это ничего не дало.
Ниже приведен XML для моего экрана предпочтений:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/SettingsMenu" >
<PreferenceCategory
android:key="pref_key_mixProportions"
android:title="@string/pref_title_mixProportions"
style="@style/SettingsMenu"
>
<EditTextPreference
android:key="pref_key_binderPortion"
android:title="@string/pref_title_binderPortion"
android:dialogTitle="Binder Portion"
android:inputType="numberDecimal"
android:maxLines="2"
android:scrollHorizontally="false"
android:defaultValue="1"
android:persistent="true" />
<EditTextPreference
android:key="pref_key_premixPortion"
android:title="@string/pref_title_premixPortion"
android:dialogTitle="Premix Portion"
android:inputType="numberDecimal"
android:layout_width="wrap_content"
android:maxLines="2"
android:scrollHorizontally="false"
android:defaultValue="5"
android:persistent="true"/>
</PreferenceCategory>
<PreferenceCategory
android:key="pref_key_binderProperties"
android:title="@string/pref_title_binderProperties">
<EditTextPreference
android:key="pref_key_binderDensity"
android:title="@string/pref_title_binderDensity"
android:dialogTitle="Density of Binder powder (kg/m^3)"
android:inputType="numberDecimal"
android:defaultValue="2850"
android:persistent="true"
android:summary="@string/pref_summary_binderDensity"/>
<EditTextPreference
android:key="pref_key_binderBagWeight"
android:title="@string/pref_title_binderBagWeight"
android:dialogTitle="Weight of Binder per bag (kg)"
android:inputType="numberDecimal"
android:defaultValue="20"
android:persistent="true" />
</PreferenceCategory>
<PreferenceCategory
android:key="pref_key_premixProperties"
android:title="@string/pref_title_premixProperties">
<EditTextPreference
android:key="pref_key_premixDensity"
android:title="@string/pref_title_premixDensity"
android:dialogTitle="Density of Sand and Aggregate Mix (kg/m^3)"
android:inputType="numberDecimal"
android:defaultValue="1850"
android:persistent="true"
android:summary="@string/pref_summary_premixDensity"/>
</PreferenceCategory>
</PreferenceScreen>
Мой файл styles.xml содержит:
<style name="SettingsMenu">
<item name="android:textSize">15sp</item>
</style>
Но текст выглядит одинаково независимо от того, какое значение я даю для размера.
Я видел, что некоторые люди предлагают использовать <PreferenceScreen android:layout=".... />
, но я не нашел четкого объяснения, как это делается.
Кто-нибудь может помочь?
Theme.Holo
илиTheme.Holo.Dark
. - person CommonsWare   schedule 20.07.2013