Android Drawable Shape Ring在较低的API级别

时间:2012-03-18 15:56:54

标签: android drawable shape

我已经定义了一个简单的环形绘图,可以将它用作按钮背景。 这就是我的表现:

 <shape xmlns:android="http://schemas.android.com/apk/res/android" 
      android:shape="ring"
   android:innerRadius="20dp"
     android:thickness="1dp"
     android:useLevel ="false"
    >   
   <solid
     android:color="@color/lines" />
     />

</shape>  

我在相对布局中使用它,如:

     <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:padding="30dip"
android:orientation="vertical">

<TextView
    android:text="@string/start_game"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    />

<Button android:id="@+id/start"
 android:layout_height="wrap_content" 
 android:layout_width="wrap_content"  
android:background="@layout/round_button"  
  android:layout_alignParentBottom="true"
   />

</RelativeLayout>

其中round_button是我的xml文件,我在其中定义了环。 当我将最低sdk级别设置为11或更高时,它给出了完美的结果。但问题是,当我尝试将其更改为较低的api级别时,例如3,环不会出现! 我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

我遇到过类似的事情。我通过在形状上将useLevel属性设置为false来修复它,如下所示:

<shape android:shape="ring"
        android:thickness="@dimen/indicatorcircle_thickness"
        android:useLevel="false">
        <size android:width="@dimen/indicatorcircle_size" android:height="@dimen/indicatorcircle_size"/>
        <solid android:color="@color/white"/>
</shape>