использование

роблема оказалась намного сложнее, чем кажется на первый взгляд, так как проблема была не на всех устройствах, кроме нескольких.

При создании пользовательского предпочтения, сделав его подклассом предпочтения, а также используя пользовательский макет, определенный в XML-файле в res / layout, и используйте этот макет в onCreateView () в пользовательском предпочтении, кажется, что вы полностью потеряете информацию о макете. обычно есть. Ничего странного в этом нет, но если вам все еще нужен заголовок (вместе с новым материалом), как вы можете указать размер этого заголовка, если хотите, чтобы он был такого же размера, как и для других предпочтений? Я был уверен, что нашел правильный ответ, установив textAppearance в textAppearanceLarge (либо в XML-файле макета, который кажется лучшим способом, либо в коде Java в классе Preference), и это прекрасно работает на большинстве устройств.

Это из файла макета пользовательских настроек:

<TextView
  android:id="@+android:id/title"
  android:layout_alignParentLeft="true"
  android:layout_alignParentTop="true"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:textAppearance="?android:attr/textAppearanceLarge"
>
</TextView>

И это из CustomPreference.onCreateView ():

LayoutInflater mInflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
RelativeLayout layout = (RelativeLayout)mInflater.inflate(R.layout.custompreference, parent, false);
// Setting up new stuff
return layout; 

Это работает, и я могу изменить размер заголовка на Малый или Средний, и мне не нужен код Java для заголовка в пользовательском классе предпочтений. textAppearanceLarge составляет 22 dp, что, по-видимому, соответствует размеру заголовков Preference на большинстве устройств.

Но на некоторых, например, HTC Sensation и Desire S, название Preference меньше. Название пользовательских предпочтений слишком велико на этих устройствах. Итак, макеты для нестандартных предпочтений явно не используют textAppearanceLarge, а что-то еще.

Мой вопрос сейчас: что они используют? Где я могу получить его для использования в моих пользовательских преференциях? Я искал в Интернете, как сумасшедший, но я просто не могу найти ответ. Все примеры, которые я могу найти, используют textAppearanceLarge (или просто 22dp), возможно потому, что никто никогда не замечал, что он не всегда работает правильно.