2012-03-18 72 views
4

我已經定義了一個簡單的可繪製環形來將其用作按鈕背景。 這裏就是我如何做它:更低API級別的Android可繪製形狀環

<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,環沒有出現! 我在這裏失蹤了什麼?

回答

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>