当前位置: 首页 > 知识库问答 >
问题:

编辑MultiAutocompleteTextView样式

蒋权
2023-03-14

在MultiAutoCompleteTextView上应用样式:问题是因为OP打算覆盖样式未声明的某些属性。这不是我的问题。

android:MultiAutoCompleteTextView风格,如gmail:这里,OP想要设置与gmail相同的风格,答案显示2 API。此外,没有显示XML代码。因此,这与我的问题和期望大不相同。

我的材质MultiAutoCompleteTextView样式似乎没有应用。更准确地说,我只是想让我的(材料!)小部件变成黄色和1px的高度。默认情况下,它是灰色的,可能有3px的高度,正如你在下面看到的。

很多事情!:-)

>

  • 我在我的应用程序主题中定义了一个样式来覆盖android:autoCompleteTextViewStyle(注意:android:autoCompleteTextViewStyle不存在)

    在重写中,我试图a)设置颜色——背景颜色、颜色、重音颜色、色彩控制正常、色彩聚焦亮点等。等等。-和b)设置一个在XML文件中定义的背景。什么都没起作用。

    <style name="" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="android:autoCompleteTextViewStyle">@style/my_autoCompleteTextViewStyle</item>
        </style>
    
    <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>
    
    <?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>
    

    我不明白为什么它不起作用。我已经为一个微调器(选择框)这样做了,它工作得非常好。。。如何使其适用于我的资料MultiAutoCompleteTextView


  • 共有1个答案

    鲁单弓
    2023-03-14

    我想您需要将这一行添加到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 field

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

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

    通过这种方式,您可以通过设置样式对所有ACEditText产生这种效果!

     类似资料:
    • 我试图在MultiAutocompleteTextView上应用样式,但该样式似乎未应用。 在风格上。我有以下xml(仅显示一部分): 在我的布局文件中,我有以下内容: 因为主题应用于整个应用程序,所以它也应该应用于MultiAutocompleteTextView。但当我尝试执行应用程序时,会出现以下错误:

    • 使用Styles(样式)窗格修改与元素关联的CSS样式。 TL;DR Styles(样式)窗格允许您以尽可能多的方式更改本地CSS,包括编辑现有样式,添加新样式,添加样式规则。 如果你想要样式持久(他们页面重新加载而丢失),您需要将它们持久化到您的开发工作区。 检查应用到元素的样式 选择一个元素[Select an element] 来检查它的样式。Styles(样式)窗格将显示所有应用于所选元素

    • 我创建了自定义视图并扩展到MultiAutoCompleteTextView并使用Span,但我有一个问题,若并没有足够的空间容纳文本和图像,那个么Span有(空间),然后视图分割它们 这是我的自定义视图代码: 有人有什么建议吗?

    • 检查和编辑页面和样式 使用Chrome DevTools Elements(元素)面板,检查并实时编辑页面中的HTML和CSS。 TL;DR 在Elements(元素)面板中随时检查并编辑 DOM 树中的任何元素。 在Styles(样式)窗格中查看和更改应用于任何选定元素的CSS规则。 在Computed(计算)窗格中查看和编辑所选元素的盒模型。 在Sources(源代码)面板中查看您在本地网页上

    • 我最近开始在WebStorm中进行一个Angular项目,并希望更改编辑器样式,以便使用Ctrl+ALT+L在格式化代码上添加更多空格。 请帮助我为Angular/TypeScript开发编辑器创建此样式。提前道谢。

    • 有没有办法更改不可编辑JTextField的样式?如果文本字段设置为editable=false,我们希望文本字段的背景颜色略为灰色。我想其中一种方法就是 在每个组件上,但这似乎容易出错且乏味。 我想要实现的是:正常的JTextfiel应该按照nimbus外观和感觉的定义显示。只读字段(例如editable=false)应具有不同的背景色。禁用字段应按照nimbus LAF的定义显示。 我在Nim