Android自定义xml可绘制颜色不可见

Android自定义xml可绘制颜色不可见,android,xml,android-layout,android-drawable,android-styles,Android,Xml,Android Layout,Android Drawable,Android Styles,我制作了两个可绘制形状线的自定义xml,如下所示: 分隔线\u行\u ok.xml <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <size android:width="150dp" android:height="1dp"></size>

我制作了两个可绘制形状线的自定义xml,如下所示:

  • 分隔线\u行\u ok.xml

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="line">
            <size
                android:width="150dp"
                android:height="1dp"></size>
    
            <solid android:color="#000000"></solid>
    
    </shape>
    
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">
        <size
            android:width="150dp"
            android:height="3dp"></size>
    
        <solid android:color="#ec0000"></solid>
    </shape>
    
    
    
  • 2.分隔线错误.xml

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="line">
            <size
                android:width="150dp"
                android:height="1dp"></size>
    
            <solid android:color="#000000"></solid>
    
    </shape>
    
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">
        <size
            android:width="150dp"
            android:height="3dp"></size>
    
        <solid android:color="#ec0000"></solid>
    </shape>
    
    
    
    我在另一个自定义drawableedittext\u divider\u line.xml中使用这两个drawable,基于属性state\u activated,如下所示:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/divider_line_error" android:state_activated="true"></item>
        <item android:drawable="@drawable/divider_line_ok" />
    </selector>
    
    
    
    然后我们将这个可绘制的背景设置为如下样式:

    <style name="divider_line_style">
        <item name="android:layout_width">match_parent</item>
        <item name="android:background">@drawable/edittext_divider_line</item>
        <item name="android:layout_height">wrap_content</item>
    </style>
    
    
    匹配父项
    @可绘制/编辑文本分割线
    包装内容
    
    最后在ImageView中使用了这种样式:

       <ImageView
            android:id="@+id/xyz_divider"
            style="@style/divider_line_style"
           />
    
    
    
    因此,当我们为此imageView调用
    view.setActivated(true)
    方法时,视图应该根据edittext\u divider\u line.xml中定义的状态进行更改,即
    @drawable/divider\u line\u error

    当我将激活状态更改为true时,我可以看到视图的高度从1dp更改为3dp,但我看不到在任何激活状态下为两种状态设置的可绘制文件中设置的颜色

    简言之,该颜色不是从任何一个抽屉中使用的。只是高度改变了。请帮我找到问题所在


    注意:如果有任何不清楚的地方,请在评论中询问。

    可能正在使用其他属性:

    android:state_active
    android:state_focused
    ...
    

    downvoter请指定downvote的原因