Layerlist drawable 不能很好地拉伸
Layerlist drawable doesn't stretch nicely
我开始学习 android 图层列表和使用可绘制对象。
我正在尝试创建一条简单的线,两端各有一个圆圈:
我想出了一个图层列表,如下所示。它工作得很好,但问题是当我 运行 它在各种屏幕尺寸上时,圆圈要么与线分开,要么被推入并落在线上。
我希望形状按原样调整大小,而不是在不同的屏幕尺寸上变形。我不确定我错过了什么。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:left="300dp" android:gravity="center_horizontal|left">
<shape android:shape="ring"
android:innerRadiusRatio="700"
android:thickness="5dp"
android:useLevel="false">
<solid android:color="#fff" />
</shape>
</item>
<item
android:bottom="13dp"
android:right="53dp"
android:left="53dp"
android:top="13dp">
<shape android:shape="line">
<solid android:color="#fff" />
<stroke
android:width="2dp"
android:color="#fff" />
</shape>
</item>
<item
android:right="300dp" android:gravity="center_horizontal|right">
<shape
android:shape="ring"
android:innerRadiusRatio="700"
android:thickness="5dp"
android:useLevel="false">
<solid android:color="#fff" />
</shape>
</item>
</layer-list>
试试这个
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:gravity="center"
android:left="5dp">
<shape android:shape="line">
<solid android:color="#ec0b0b" />
<stroke
android:width="2dp"
android:color="#054b89" />
</shape>
</item>
<item
android:drawable="@drawable/ic_online"
android:gravity="left"
android:right="50dp" />
<item
android:drawable="@drawable/ic_online"
android:gravity="right" />
</layer-list>
android:drawable="@drawable/ic_online"
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="10dp"
android:height="10dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#05b714"
android:pathData="M12,12m-10,0a10,10 0,1 1,20 0a10,10 0,1 1,-20 0"/>
</vector>
输出
我开始学习 android 图层列表和使用可绘制对象。
我正在尝试创建一条简单的线,两端各有一个圆圈:
我想出了一个图层列表,如下所示。它工作得很好,但问题是当我 运行 它在各种屏幕尺寸上时,圆圈要么与线分开,要么被推入并落在线上。
我希望形状按原样调整大小,而不是在不同的屏幕尺寸上变形。我不确定我错过了什么。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:left="300dp" android:gravity="center_horizontal|left">
<shape android:shape="ring"
android:innerRadiusRatio="700"
android:thickness="5dp"
android:useLevel="false">
<solid android:color="#fff" />
</shape>
</item>
<item
android:bottom="13dp"
android:right="53dp"
android:left="53dp"
android:top="13dp">
<shape android:shape="line">
<solid android:color="#fff" />
<stroke
android:width="2dp"
android:color="#fff" />
</shape>
</item>
<item
android:right="300dp" android:gravity="center_horizontal|right">
<shape
android:shape="ring"
android:innerRadiusRatio="700"
android:thickness="5dp"
android:useLevel="false">
<solid android:color="#fff" />
</shape>
</item>
</layer-list>
试试这个
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:gravity="center"
android:left="5dp">
<shape android:shape="line">
<solid android:color="#ec0b0b" />
<stroke
android:width="2dp"
android:color="#054b89" />
</shape>
</item>
<item
android:drawable="@drawable/ic_online"
android:gravity="left"
android:right="50dp" />
<item
android:drawable="@drawable/ic_online"
android:gravity="right" />
</layer-list>
android:drawable="@drawable/ic_online"
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="10dp"
android:height="10dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#05b714"
android:pathData="M12,12m-10,0a10,10 0,1 1,20 0a10,10 0,1 1,-20 0"/>
</vector>
输出