android 'circle'与属性shape(attr)枚举不相容[直线=2,椭圆=1,矩形=0,环=3]

wi3ka0sx  于 2022-12-02  发布在  Android
关注(0)|答案(1)|浏览(147)

我想在Xamarin.Android项目中有一个圆。我查找了一些SO文章,他们提到使用android:shape=“circle”,我做到了。我在设计预览中显示正确,但我无法再构建/运行该项目。我不想要一个椭圆,我需要一个圆。这是错误:

  • 'circle'与属性shape(attr)枚举不相容[直线=2,椭圆=1,矩形=0,环=3]
    axml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="circle">
    <solid android:color="#FFF44444"/>
    <size android:height="1dp" android:width="1dp"/>
    <corners android:radius="30dp"/>
    <padding android:left="10dp" android:top="10dp" android:right="30dp" android:bottom="10dp" />
</shape>
pbwdgjma

pbwdgjma1#

对于属性android:shape,我们只能使用四个选项。
选项包括:

line, oval, rectangle, ring

如果要画圆,可以选择ovalandroid:shape
请参考以下代码:

<?xml version="1.0" encoding="utf-8" ?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="oval">
      <solid android:color="#FFF44444"/>
      <size android:height="1dp" android:width="1dp"/>
      <corners android:radius="30dp"/>
      <padding android:left="10dp" android:top="10dp" android:right="30dp" android:bottom="10dp" />
</shape>

简单用法:

<ImageView
    android:background="@drawable/myshape"
    android:text="test"
    android:layout_width="60dp"
    android:layout_height="60dp"/>

更新

我可以得到圆,但其中没有显示文本。
如果要向圆添加文本,可以使用TextView并为其设置background
请参考以下代码:

<TextView 
    android:padding="3dp"
    android:background="@drawable/myshape"
    android:gravity="center"
    android:text="1"
    android:textSize="16sp"
    android:textColor="@android:color/white"
    android:layout_width="30dp"
    android:layout_height="30dp"/>

相关问题