【发布时间】:2017-02-09 14:14:31
【问题描述】:
我想在一个主题中将自定义样式应用于TextInputLayout's hint 和error 并全局应用它,即在styles.xml 中定义它并以某种方式将其应用于整个应用程序中使用的所有TextInputLayouts 而无需需要像这样内联添加它:
<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>
我们可以像这样处理Button 小部件:
styles.xml
<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 xml android-styles android-textinputlayout