Android shape drawable xml未在设备或模拟器上绘制

Posted

技术标签:

【中文标题】Android shape drawable xml未在设备或模拟器上绘制【英文标题】:Android shape drawable xml not drawn on device nor emulator 【发布时间】:2011-11-30 18:09:42 【问题描述】:

我就是想不通。我在 res/drawable/start_light.xml 中有这个形状

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring"
    android:innerRadius="20dp"
    android:thickness="0dp"
    android:useLevel="false">
    <solid android:color="#FF0000" />
</shape>

在 res/values/styles.xml 我有:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <style name="StartLight">
        <item name="android:layout_height">50dp</item>
        <item name="android:layout_width">50dp</item>
        <item name="android:background">@drawable/start_light</item>
    </style>
</resources>

在主布局中我有:

<LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_gravity="center_horizontal" 
    android:layout_ 
    android:gravity="center_vertical" android:layout_>
    <ImageView android:src="@drawable/start_light" android:id="@+id/light5" android:layout_ android:layout_></ImageView>
    <View style="@style/StartLight" android:id="@+id/light4"></View>
    <View style="@style/StartLight" android:id="@+id/light3"></View>
    <View style="@style/StartLight" android:id="@+id/light2"></View>
    <View style="@style/StartLight" android:id="@+id/light1"></View>
</LinearLayout>

以以太网方式,使用 View 或 ImageView 我在模拟器或设备上的布局中看不到任何红色圆圈。在 xml 图形设计器上,它们就在那里。我在这里错过了什么?

【问题讨论】:

【参考方案1】:

替换你的可绘制形状
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring"
    android:innerRadius="0dp"
    android:thickness="20dp"
    android:useLevel="false">
    <solid android:color="#FF0000"/>
 </shape>

将厚度设置为 0 使其在模拟器上不可见。 这里我将 innerRadius 设置为 0。

【讨论】:

以上是关于Android shape drawable xml未在设备或模拟器上绘制的主要内容,如果未能解决你的问题,请参考以下文章

Android Drawable - Shape

关于drawable中的shape标签

为啥我的Android Studio里新建的drawable的XML文件里没找不到shape这个选项.

Android Shape Drawable 改变属性

Android shape drawable xml未在设备或模拟器上绘制

[Android] 代码中动态设置shape