O tamanho do título de preferência personalizado da Android sai incorreto em alguns dispositivos. Qual é o lugar certo para buscá-lo?
Este problema acabou sendo muito mais complicado do que parecia à primeira vista, pois não era um problema em todos os dispositivos, exceto em algun
Ao criar uma preferência personalizada, tornando-a uma subclasse de preferência e também usar um layout personalizado definido em um arquivo XML em res / layout e usar esse layout em onCreateView () na preferência personalizada, parece que você perde completamente as informações de layout da preferência. -s normalmente tem. Nada de estranho nisso, mas se você ainda deseja um título (junto com o novo material), como você especifica o tamanho desse título se deseja que ele seja do mesmo tamanho que para outras preferências? Eu tinha certeza de ter encontrado a resposta correta, definindo textAppearance como textAppearanceLarge (no arquivo XML de layout que parece ser o melhor caminho ou no código Java na classe Preference) e isso funciona bem na maioria dos dispositivos.
Este é do arquivo de layout de preferência personalizado:
<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>
E isso é de 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;
Isso funciona e posso alterar o tamanho do título para Pequeno ou Médio e não preciso de código Java para o título na classe Preferências personalizadas. textAppearanceLarge tem 22dp, o que parece ser o tamanho dos títulos preferenciais na maioria dos dispositivo
Mas em alguns, por exemplo, o título HTC Sensation e Desire S the Preference é menor. O título da preferência personalizada sai muito grande nesses dispositivos. Portanto, os layouts para Preferências não personalizadas claramente não usam textAppearanceLarge, mas outra coisa.
Minha pergunta agora é: O que eles usam? Onde posso obtê-lo para uso na minha Preferece personalizada? Pesquisei na Internet como um louco, mas simplesmente não consegui encontrar a resposta. Todos os exemplos que posso encontrar usam textAppearanceLarge (ou simplesmente 22dp), provavelmente porque ninguém nunca notou que nem sempre funciona corretament