在Android中,笔划没有与选择器一起应用

在Android中,笔划没有与选择器一起应用,android,android-layout,Android,Android Layout,我有一个布局.xml,如下所示 <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="50dp" android:background="@color/green" android:layout_marginLeft="2dp" android:layout_marginRight="2

我有一个布局.xml,如下所示

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="@color/green"
    android:layout_marginLeft="2dp"
    android:layout_marginRight="2dp"
    android:layout_marginBottom="2dp" >

    <ImageButton
        android:id="@+id/leftArrowImageButton"
        android:background="@drawable/left_arrow_selector"
        android:layout_width="120dp"
        android:layout_height="50dp"
        android:gravity="left"
        android:src="@drawable/left_arrow">
    </ImageButton>        
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/white" android:state_selected="true"/>
    <item android:drawable="@color/white" android:state_pressed="true"/>
    <item android:drawable="@color/green">
    <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
        <stroke android:width="2dp" android:color="@color/grey" />
    </shape>   
    </item>

</selector>

我有左箭头选择器.xml,如下所示

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="@color/green"
    android:layout_marginLeft="2dp"
    android:layout_marginRight="2dp"
    android:layout_marginBottom="2dp" >

    <ImageButton
        android:id="@+id/leftArrowImageButton"
        android:background="@drawable/left_arrow_selector"
        android:layout_width="120dp"
        android:layout_height="50dp"
        android:gravity="left"
        android:src="@drawable/left_arrow">
    </ImageButton>        
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/white" android:state_selected="true"/>
    <item android:drawable="@color/white" android:state_pressed="true"/>
    <item android:drawable="@color/green">
    <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
        <stroke android:width="2dp" android:color="@color/grey" />
    </shape>   
    </item>

</selector>

其他一切都很好,但没有应用笔划。 请对此提出建议

编辑-添加图像。。。 图像在那里,我想保持它不变,但我想添加中风的看法。请看我如何添加一个灰色笔划,如果我删除了选择器

问题在于:

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <stroke android:width="2dp" android:color="@color/black" />
</shape>

请尝试以下方法:

<shape android:shape="rectangle"> 
    <stroke android:width="2dp" android:color="@color/black" />
</shape>

当您复制和粘贴太多^^

时会发生这种情况。我想这样做:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/arrow_left_white" android:state_selected="true"/>
    <item android:drawable="@drawable/arrow_left_white" android:state_pressed="true"/>
    <item android:drawable="@drawable/arrow_left_green" />
</selector>

/res/drawable/arrow_left_green.xml
(也是为了在选择器中保留名称)


因此,将选择器设置为您的背景,将图像设置为您的src,您将拥有一个有状态的ImageButton,该按钮(使用我选择的颜色)从蓝色背景上的黄色左三角形变为灰色边框,从棕色背景上的相同黄色三角形变为黑色边框

边框的笔划
固体填料

参考:


你可以通过圆角和/或使用渐变来添加一些香料。

我搞不懂你的选择。有3个连续的状态,没有一个指向资源。然后是一个额外的(外星人)形状,只有一个笔划(没有形状的形状-如果你把笑话传给我的话)。。。你可以在你的照片上加上黑色的笔划……同意鲍勃的观点……你能发布图片吗?@Coder_sLaY@BobMalooga我正在按视图更改背景色。我还想在画的同时画一笔。@Coder\u sLaY:你能贴一张所需结果的照片吗?我认为选择器项所指向的几个PNG将简单地实现这一目的。一个是白色的,另一个是绿色的。后者也有黑色边框。检查这可能有助于你…@Coder\u杀掉这一个更有意义。我不能这样做。看,我已经附上了图片。没有什么比这更简单的了。灰色边框+黄色三角形->黑色边框+绿色三角形?黑色边框+绿色背景。黄色三角形是常数。现在把代码改成了灰色笔划。所以!现在我明白了。bg+边框更改,图像已固定。让我想一想……不知何故,能帮上忙真是太好了。