Android - 可绘制对象 XML 包含左侧图像和填充宽度的纯色
Android - Drawable XML containing image on left and solid color to fill width
我正在尝试创建一个 XML 可绘制对象,它在左侧有一个图像,然后是一个纯色背景,它将填充使用该可绘制对象的其余宽度。背景颜色是我在图片本身的颜色,目的是为了全宽继续颜色。
我已经试过了,但这只是给我应用它的视图中心的图像。我想要的是左边的图像,然后是图像右侧的背景颜色以填充剩余的 space。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
>
<item>
<shape android:shape="rectangle">
<solid android:color="#00355f"/>
</shape>
</item>
<item
android:drawable="@drawable/bg_navbar"
android:gravity="center_vertical|start"/>
</layer-list>
显而易见的解决方案是用我的背景颜色创建一个 LinearLayout,然后将图像拖放到其中,但由于我的整个应用程序都在使用它,所以我希望能够创建一个 XML 可绘制资源相反。
试试下面的代码片段。希望对你有所帮助
<?xml version="1.0"
encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list>
<item>
<shape>
<gradient android:angle="90"
android:endColor="#ffffff"
android:startColor="#ffffff"
android:type="linear" />
<stroke android:width="1dp"
android:color="#dddbda" />
<corners android:radius="5dp" />
<padding android:bottom="10dp"
android:left="3dp"
android:right="10dp"
android:top="3dp" />
</shape>
</item>
<item>
<bitmap android:gravity="bottom|left"
android:src="@drawable/drdw" />
</item>
</layer-list>
</item>
</selector>
我正在尝试创建一个 XML 可绘制对象,它在左侧有一个图像,然后是一个纯色背景,它将填充使用该可绘制对象的其余宽度。背景颜色是我在图片本身的颜色,目的是为了全宽继续颜色。
我已经试过了,但这只是给我应用它的视图中心的图像。我想要的是左边的图像,然后是图像右侧的背景颜色以填充剩余的 space。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
>
<item>
<shape android:shape="rectangle">
<solid android:color="#00355f"/>
</shape>
</item>
<item
android:drawable="@drawable/bg_navbar"
android:gravity="center_vertical|start"/>
</layer-list>
显而易见的解决方案是用我的背景颜色创建一个 LinearLayout,然后将图像拖放到其中,但由于我的整个应用程序都在使用它,所以我希望能够创建一个 XML 可绘制资源相反。
试试下面的代码片段。希望对你有所帮助
<?xml version="1.0"
encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list>
<item>
<shape>
<gradient android:angle="90"
android:endColor="#ffffff"
android:startColor="#ffffff"
android:type="linear" />
<stroke android:width="1dp"
android:color="#dddbda" />
<corners android:radius="5dp" />
<padding android:bottom="10dp"
android:left="3dp"
android:right="10dp"
android:top="3dp" />
</shape>
</item>
<item>
<bitmap android:gravity="bottom|left"
android:src="@drawable/drdw" />
</item>
</layer-list>
</item>
</selector>