在Android中,笔划没有与选择器一起应用
我有一个布局.xml,如下所示在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
<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+边框更改,图像已固定。让我想一想……不知何故,能帮上忙真是太好了。