6

嗨,我在我的应用程序中使用 TextInputLayout。我想将提示文本颜色和浮动标签颜色(聚焦和不聚焦)设置为白色。我试过下面的代码。

  <android.support.design.widget.TextInputLayout
 android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:theme="@style/TextLabel">

<android.support.v7.widget.AppCompatEditText
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:hint="Hiiiii"
android:id="@+id/edit_id">
 </android.support.v7.widget.AppCompatEditText>
</android.support.design.widget.TextInputLayout>

<style name="TextLabel" parent="TextAppearance.AppCompat">
//hint color And Label Color in False State
<item name="android:textColorHint">@color/Color Name</item> 
<item name="android:textSize">20sp</item>
//Label color in True State And Bar Color False And True State
<item name="colorAccent">@color/Color Name</item>
<item name="colorControlNormal">@color/Color Name</item>
<item name="colorControlActivated">@color/Color Name</item>
</style>

它适用于棒棒糖,但不适用于较低版本。我如何在较低版本中也能达到同样的效果?

4

2 回答 2

0

我得到了这个答案。在低于棒棒糖的操作系统版本中,我们必须在应用程序主题中将文本颜色设置为白色(在我的情况下)。然后它将起作用。

于 2015-07-06T05:57:42.720 回答
0

给予你给予的相同风格Text Input StyleEdittext

 <!--Text Input Style-->
    <style name="styleTextInputLayout" parent="Widget.Design.TextInputLayout">
        <item name="android:textColor">?android:attr/textColorSecondary</item>
        <item name="android:textColorHint">?android:attr/textColorSecondaryInverse</item>
    </style>


 <!--EditText-->
    <style name="styleEditText" parent="Widget.AppCompat.EditText">
        <item name="android:textColor">?android:attr/textColorSecondary</item>
        <item name="android:textColorHint">?android:attr/textColorSecondaryInverse</item>
    </style>

给上面的标签你各自的颜色

<android.support.design.widget.TextInputLayout
                    style="@style/styleTextInputLayout"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content">

                    <EditText
                        android:id="@+id/edtTextFirstName"
                        style="@style/styleEditText"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginBottom="@dimen/dimen_5_dp"
                        android:layout_marginTop="@dimen/dimen_5_dp"
                        android:hint="@string/hint_first_name"
                        android:imeOptions="actionNext"
                        android:inputType="textPersonName|textCapWords"
                        android:singleLine="true" />
                </android.support.design.widget.TextInputLayout>

上面的代码适用于

compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'

我遇到了22版本问题,可能存在一些错误,因为文本输入忽略了提供给它的样式。

com.android.support:design下面的解决方案23是:

样式.xml

 <style name="styleTextInputTextAppearance" parent="TextAppearance.AppCompat">
        <item name="android:textColorHint">?android:attr/textColorSecondaryInverse</item>
    </style>

将主题设置为 TextInputLayout

<android.support.design.widget.TextInputLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:theme="@style/styleTextInputTextAppearance">

                    <EditText
                        android:id="@+id/edtTextTowerName"
                        style="@style/styleEditText"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginBottom="@dimen/dimen_5_dp"
                        android:layout_marginTop="@dimen/dimen_5_dp"
                        android:hint="@string/hint_tower_name"
                        android:imeOptions="actionNext"
                        android:inputType="textCapWords"
                        android:singleLine="true" />
                </android.support.design.widget.TextInputLayout>
于 2015-10-01T14:11:35.073 回答