Intereting Posts
Возможно ли скомпилировать библиотеки LLVM для android / ARM Создание пользовательского editText с функцией тегов NullPointer на toLowerCase, но я не использую этот метод нигде SecurityException: не разрешено запускать службу. Intent act = com.google.android.c2dm.intent.REGISTER Кнопка Android Use Done на клавиатуре для нажатия кнопки Отдельный задний стек для каждой вкладки на Android с помощью фрагментов Ошибка Android – close () никогда не вызывалось явным образом в базе данных Android: Как я могу помешать мягкой клавиатуре выдвинуть мой взгляд? ActionBarCompat – как его использовать Android: перемещение фонового изображения при навигации через Views Как эффективно реализовать шаблон MVVM для моего приложения для Android, который также облегчит написание тестовых примеров? Установить заголовок для контекстной панели действий Как добавить пользовательский тип mime? Отправка MMS из моего приложения в android Простой способ сделать динамическую, но квадратную компоновку

Как изменить размер шрифта в 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>