更改TextInputLayout标签TextView的背景颜色

时间:2019-05-06 16:34:55

标签: java android label android-textinputlayout android-textinputedittext

因此,我试图更改TextInputLayout / EditText上标签背景的颜色。其他大多数问题似乎都与文本的颜色有关,但是我观察到的标签的默认功能是“ OutlinedBox”样式上标签的背景是否与布局上方的背景颜色匹配在层次结构中https://imgur.com/mc5JB9b https://imgur.com/pjST45F (抱歉,没有足够的声誉来发布图片)

如前所述,如图1所示,TextInputLayout上方的布局为灰色,因此Label TextView 背景也变为灰色。在例2,TextInputLayout上方的布局为白色,因此标签文本背景也变为白色。由于这是在没有我任何输入的情况下发生的(它没有使用像“ colorAccent”这样的颜色,而是将其应用于整个布局,而是使用了基于布局背景色的其他颜色)。我要找出的是,是否存在我可以维护/编辑的颜色属性(最好是通过样式),该属性可以让我选择该颜色,而不是默认使用层次结构上方的任何布局?

我尝试在“样式”中设置各种颜色以尝试覆盖默认行为,但没有找到一种可以做到这一点的方法。

这里是金额的TextInputLayout / EditText。

     <com.google.android.material.textfield.TextInputLayout
                android:id="@+id/tilAmount"
                style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                android:layout_width="0dp"
                android:layout_height="55dp"
                android:layout_marginRight="@dimen/margin_between_boxes"
                android:layout_weight="1"
                android:hint="@string/et_amount"
                app:boxBackgroundColor="@color/white"
                app:boxStrokeColor="@color/editText_background"
                app:boxStrokeWidth="3dp"
                app:hintTextAppearance="@style/TextLabel">


                <com.google.android.material.textfield.TextInputEditText
                    android:id="@+id/etAmount"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:fontFamily="@font/neue_haas_grotesk_display_regular"
                    android:inputType="number"
                    android:maxLength="7"
                    android:paddingLeft="13dp"
                    android:textAlignment="viewStart"
                    android:textColorHint="@android:color/black"
                    android:textSize="14sp"
                    android:layout_gravity="start" />
            </com.google.android.material.textfield.TextInputLayout>

这是用于hintTextAppearance的样式

      <style name="TextLabel" parent="TextAppearance.AppCompat">
    <!-- Hint color and label color in FALSE state -->
    <item name="android:textColorHint">@color/label_text</item>
    <item name="android:textColor">@color/label_text</item>
    <item name="android:textSize">12sp</item>
    <!-- Label color in TRUE state and bar color FALSE and TRUE State -->
    <item name="colorAccent">@android:color/black</item>
    <item name="colorControlNormal">@color/label_text</item>
    <item name="colorControlActivated">@color/label_text</item>
    <item name="android:colorControlHighlight">@color/label_text</item>
    <item name="android:textColorPrimary">@color/label_text</item>
    <item name="android:textColorSecondary">@color/label_text</item>
</style>

我希望能够将标签TextView的背景颜色编辑为我选择的任何颜色。

0 个答案:

没有答案