MultiAutoCompleteTextView

MultiAutoCompleteTextView

类似问题

Apply a style on MultiAutoCompleteTextView:问题是由于OP打算覆盖样式未声明的某些属性而导致的。这不是我的问题。

android: MultiAutoCompleteTextView style like gmail:这里,OP希望设置与GMail相同的样式,答案显示2个API。此外,没有显示XML代码。因此,这与我的问题和期望有很大不同。

问题

我的材料MultiAutoCompleteTextView样式似乎未应用。更准确地说,我只想使我的(材质!)小部件的底部默认行变为黄色,高度为1px。默认情况下,它是灰色的,可能是3px的高度,如下所示。

android - 编辑MultiAutocompleteTextView样式-LMLPHP
(当我的活动片段开始时显示,这是此MultiAutoCompleteTextView的默认材料样式)

我尝试过的

很多东西! :-)


我在应用程序的主题中定义了一种样式来覆盖android:autoCompleteTextViewStyle(注意:android:autoCompleteTextViewStyle不存在)
在替代中,我尝试a)设置颜色-背景色,颜色,强调色,colorControlNormal,colorFocusedHighlight等,等等。等等-和b)设置背景(在XML文件中定义)。没事。


资料来源

应用主题

<style name="" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:autoCompleteTextViewStyle">@style/my_autoCompleteTextViewStyle</item>
    </style>


@ style / my_autoCompleteTextViewStyle

<style name="my_autoCompleteTextViewStyle" parent="android:Widget.Material.Light.AutoCompleteTextView">
    <item name="android:background">@drawable/background_autocompletetextview</item>

    <item name="android:color">@color/colorRichYellow</item>
    <item name="android:borderlessButtonStyle">@color/colorRichYellow</item>
    <item name="android:colorAccent">@color/colorRichYellow</item>
    <item name="android:colorControlHighlight">@color/colorRichYellow</item>
    <item name="android:colorActivatedHighlight">@color/colorRichYellow</item>
    <item name="android:colorControlActivated">@color/colorRichYellow</item>
    <item name="android:colorControlNormal">@color/colorRichYellow</item>
    <item name="android:colorBackground">@color/colorRichYellow</item>
    <item name="android:colorFocusedHighlight">@color/colorRichYellow</item>
</style>


@ drawable / background_autocompletetextview

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line">
    <stroke android:width="1dp" android:color="@color/colorRichYellow" />
</shape>


我的问题

我不明白为什么它不起作用。我已经对spinner(选择框)进行了此操作,并且效果很好...如何使它对我的材料MultiAutoCompleteTextView有效?

最佳答案

排程器
我认为您需要将此行添加到您的MultiAutoCompleteTextView中

首先,为您的MultiAutoCompleteTextView创建一个名为“ underline.xml”的背景资源。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:bottom="1dp"
        android:left="-2dp"
        android:right="-2dp"
        android:top="-2dp">
        <shape android:shape="rectangle" >
            <stroke
                android:width="1dp"
                android:color="@color/colorRichYellow" />
            <solid android:color="#00FFFFFF" />
            <padding
                android:bottom="5dp"
                android:left="5dp"
                android:right="5dp"
                android:top="5dp" />
        </shape>
    </item>
</layer-list>


之后,只需将以下内容设置为您的MultiAutoCompleteTextView项:

android:background="@drawable/underline"


我们需要这样做,因为您也想调整行的大小。如果您只需要更改底线的颜色,则只需设置

app:backgroundTint="@color/colorRichYellow"


避免创建underline.xml文件并且不设置android:background字段

更新(按评论要求)

如果要使用样式,请将此行添加到样式文件中:

<style name="my_autoCompleteTextViewStyle" parent="android:Widget.Material.Light.AutoCompleteTextView">
    ....
    <item name="android:background">@drawable/underline</item>
    ....
</style>


这样,您可以通过设置样式对所有ACEditText产生影响!

10-06 03:19