我正在尝试为TextInputLayout使用自定义颜色。这些样式在API 19上没有按预期工作。
<android.support.design.widget.TextInputLayout
android:id="@+id/email_address_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_horizontal_margin"
app:errorEnabled="true"
style="@style/textInputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/email_address"
style="@style/edittextLayout"
android:hint="@string/email_address"
android:inputType="textEmailAddress" />
</android.support.design.widget.TextInputLayout>
textInputLayout的样式
<style name="textInputLayout" parent="AppTheme">
<item name="colorControlNormal">@color/table_view_divider</item>
<item name="colorControlActivated">@color/content_text_dark_background</item>
<item name="textColorError">@color/white</item>
<item name="colorAccent">@color/white</item>
<item name="android:textColorHint">@color/content_text_dark_background</item>
<!-- The following 2 items are needed or it'll crash when InputTextLayout.setError() is called -->
<item name="android:textColorHighlight">@color/white</item>
<item name="android:textColorLink">@color/white</item>
<item name="android:textSize">16sp</item>
</style>
这是editText的样式
<style name="edittextLayout">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">@color/content_text_dark_background</item>
</style>
Base AppTheme
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/app_theme</item>
<item name="colorPrimaryDark">@color/app_theme_dark</item>
<item name="colorAccent">@color/blue</item>
</style>
TextInputLayout似乎不尊重自定义主题。 colorAccent始终为蓝色,错误显示为红色而不是白色。
使用的设计支持库是com.android.support:design:25.1.0
这适用于API 25.
我还尝试将父作为TextAppearance.AppCompat
应用于样式textInputLayout
仍然没有运气。