하나의 테마로 TextInputLayout's
hint
및 error
에 사용자 정의 스타일을 적용하고이를 전역 적으로 적용합니다. 즉, styles.xml에서 정의한 다음 필요없이 앱 전체에서 사용되는 모든 TextInputLayouts
에 적용합니다.안드로이드 | styles.xml을 사용하여 TextInputLayout의 테마 변경
styles.xml
: 우리는이 같은Button
위젯을 할 수
<android.support.design.widget.TextInputLayout
android:id="@+id/usernameWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/email_username"
android:textColorHint="@color/grey_text"
app:theme="@style/my_custom_style">
<style name="my_custom_style" parent="Widget.Design.TextInputLayout">
<item name="android:textColorHint">@color/success_accent</item>
<item name="android:textSize">20sp</item>
</style>
뭔가처럼이 같은 그것을 인라인를 추가
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="buttonStyle">@style/my.Widget.Button</item>
<item name="android:buttonStyle">@style/my.Widget.Button</item>
</style>
<style name="my.Widget.Button" parent="@android:style/Widget.TextView">
<item name="android:gravity">center</item>
<item name="android:textSize">@dimen/some_dimen</item>
<item name="android:textAllCaps">false</item>
</style>
참고 : 나는 현재 최후의 수단로 TextInputLayout
를 서브 클래 싱 을 고려, 그래서 당신은 대답하면서,이 점을 염두에 두시기 바랍니다하고있다.
감사합니다 :)
'android : textColorHint'는 테마 속성이 아닌 스타일 속성이므로 테마에 정의 할 수 없습니다. 대신에 android : textAppearance 테마 속성을 사용 하시겠습니까? 'TextInputLayout'은 실제로'EditText' 대신'LinearLayout'을 확장하는 래퍼 클래스이고 기본 텍스트 모양을 고려하지 않는 자체 힌트 그리기 메커니즘을 제공하기 때문에 이것도 작동하지 않습니다. – corsair992