Как использовать размер шрифта из подсказки edittext в другом представлении

#android #layout #android-edittext

#Android #макет #android-edittext

Вопрос:

Я хочу использовать тип шрифта, цвет и размер подсказки EditText в другом представлении (особенно TextView), чтобы сохранить согласованный вид в других областях моей формы. Как мне узнать, что использовать?

Я пытался найти макет EditText в sdk, но я не смог его найти, я надеялся использовать это, чтобы найти соответствующий атрибут, который я могу установить. Вероятно, что-то вроде

 android:textAppearance="?android:attr/textAppearanceSmallInverse"
  

Кто-нибудь делал что-нибудь подобное?

Ответ №1:

Я нашел решение, которое работает (по крайней мере, в эмуляторе и на моем HTC Hero)

Я изучил код в android/widget/TextView.java и возился, пока не придумал это…

 <TextView 
android:text="This one has the hint style text"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:textColor="?android:attr/textColorHint"
android:textAppearance="?android:attr/textAppearanceMediumInverse"
/>

<TextView 
android:text="This one has the value style text"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMediumInverse"
/>
  

Я предполагаю, что это, вероятно, неправильное решение, потому что textAppearanceMediumInverse не будет выглядеть правильно на большом или маленьком устройстве, но пока это работает…


Редактирование независимо от размера устройства

Кажется, это решает проблему малого / среднего / большого

 <TextView 
android:text="This one has the hint style text"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:textColor="?android:attr/textColorHint"
android:textAppearance="?android:attr/textAppearance"
/>

<TextView 
android:text="This one has the value style text"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceInverse"
/>
  

Я оставлю этот вопрос открытым на некоторое время, на случай, если у кого-то есть лучший ответ, который я могу принять, но, похоже, у меня это работает.