Intereting Posts
Android только в OpenGL: производительность в C ++ (NDK) против Java (Dalvik) Насколько хорошо API NFC для Android поддерживает Mifare Desfire? Воспроизведение видео в TextureView Объекты Android OpenGL ES Framebuffer – отображение глубины-буфера текстуры Как перечислить все файлы в Android-телефоне с помощью оболочки adb? Разница между версиями подписей – V1 (подпись Jar) и V2 (полная подпись APK) при генерации подписанного apk в AndroidStudio? Phonegap – sqlite или индексированная БД? Форумы Где файл сохраняется, когда используется openFileOutput? Одновременно используйте GPS и Network Provider в Android Почему нет view.invalidate, чтобы сразу перерисовать экран в моей андроидной игре Как сбросить позицию панели инструментов, контролируемую координаторомLayout? Инициализация Bluetooth-соединения android (клиент) на python (сервер) на ПК Изображения, которые не кэшируются локально (с помощью Universal Image Loader) – медленное время загрузки изображения Android Exception: java.io.IOException: open failed: EACCES (Permission denied)

Как изменить размер шрифта в PreferenceScreen

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="First Category" android:textSize="20px"> <CheckBoxPreference android:title="Checkbox Preference" android:defaultValue="false" android:summary="This preference can be true or false" android:key="checkboxPref" /> </PreferenceCategory> </PreferenceScreen> 

Мне нужно изменить android:title размер шрифта android:title PrefereceCategory , PrefereceCategory и android:summary размер. Эти теги не имеют атрибута android:textSize . Может ли кто-нибудь помочь мне, как это получить?

Solutions Collecting From Web of "Как изменить размер шрифта в PreferenceScreen"

Наконец, я смог решить свою проблему, просто пропустив один макет. Может быть, это кому-то поможет. Это мой модифицированный preference.xml см. Ниже код. Мы можем применять наши собственные свойства для заголовка и резюме.

preference.xml:

 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="First Category" android:textSize="20px" android:layout="@layout/mylayout"> <CheckBoxPreference android:title="Checkbox Preference" android:defaultValue="false" android:summary="This preference can be true or false" android:key="checkboxPref" android:layout="@layout/mylayout"/> </PreferenceCategory> </PreferenceScreen> 

mylayout.xml:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@android:id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40sp"/> <TextView android:id="@android:id/summary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="26sp"/> </LinearLayout> 

Пожалуйста, спросите меня, есть ли какие-либо вопросы …. Держите Smiling. Если это полезно, дайте мне один комментарий.

Для меня макет, размещенный praneetloke, заставил виджет исчезнуть из настроек, у которых есть связанный виджет, например флажок. Существует LinearLayout с id / widget_frame, который необходим для виджета. Следующее работало для меня, на Android с 2.3 по 4.2.2. Единственное изменение, которое мне нужно было сделать, это установить android: visibility = «ушел» на макет, содержащий значок предпочтения, который не был доступен в Gingerbread.

 <?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="wrap_content" android:gravity="center_vertical" android:minHeight="?android:attr/listPreferredItemHeight" android:paddingLeft="8dip" android:paddingRight="?android:attr/scrollbarSize" > <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" android:minWidth="0dp" android:orientation="horizontal" android:visibility="gone" > <ImageView android:id="@+android:id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:minWidth="48dp" android:paddingRight="8dip" /> </LinearLayout> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:paddingBottom="6dip" android:paddingRight="8dip" android:paddingTop="6dip" > <TextView android:id="@+android:id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="marquee" android:fadingEdge="horizontal" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:id="@+android:id/summary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@android:id/title" android:layout_below="@android:id/title" android:maxLines="4" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="?android:attr/textColorSecondary" /> </RelativeLayout> <!-- Preference should place its actual preference widget here. --> <LinearLayout android:id="@+android:id/widget_frame" android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" android:minWidth="48dp" android:orientation="vertical" /> </LinearLayout> 

Ссылки. Размеры по умолчанию, используемые в макете, приведены здесь GrepCode /res/values/dimens.xml . Фактическая компоновка элементов предпочтений находится здесь GrepCode /res/layout/preference_holo.xml . Обратите внимание, что существует также версия без голода, называемая preference.xml.

Я изменил ответ Кумара на это для ICS и выше. Я разместил этот макет в значениях-v11 для целевого уровня API уровня 11+.

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+android:id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18dp" android:textColor="?android:attr/textColorPrimary" android:paddingLeft="8dip"/> <TextView android:id="@+android:id/summary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="14dp" android:textColor="?android:attr/textColorSecondary" android:paddingLeft="8dip"/> </LinearLayout> 

Вы можете взглянуть на макет, который используется в конкретной платформе в папке макета, расположенной в:

 <android-sdk>\platforms\android-<level>\data\res\layout 

Макеты настроек начинаются с префикса preference_ .

Взгляните на мой ответ на это: название Android PreferenceScreen в двух строках .

Вы также можете изменить сам шрифт, если хотите. Просто добавьте это:

 Typeface myTypeface = Typeface.createFromAsset(textView.getContext().getAssets(),"fonts/your_font_name.ttf"); if (textView != null) { textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, textView.getContext().getResources().getDimension(R.dimen.text_size_from_dimen)); textView.setTypeface(myTypeface); } 

Просто небольшая ревизия кода макета. «@ + Android: id / summary» вызывает Невозможно разрешить символ для меня. Поэтому я удаляю знак «+», и код работает

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@android:id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40px"/> <TextView android:id="@+android:id/summary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="26px"/> </LinearLayout>