2016-07-30 86 views
0

我想在Android中使用xml在大型燈光圈內製作一個小黑圈。兩個圓圈都有顏色,大小和筆畫。爲什麼小黑圈填充50 dp而不是28dp?內圈爲什麼會填滿外圈?

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!--big light circle--> 
    <item> 
     <shape android:shape="oval"> 
      <solid android:color="#EEEEEE" /> 

      <size 
       android:width="50dp" 
       android:height="50dp" /> 

      <stroke 
       android:width="2dp" 
       android:color="#404040" /> 
     </shape> 
    </item> 
    <!--small dark circle--> 
    <item> 
     <shape android:shape="oval"> 
      <solid android:color="#AEAEAE" /> 

      <size 
       android:width="28dp" 
       android:height="28dp" /> 

      <stroke 
       android:width="1dp" 
       android:color="#464646" /> 
     </shape> 
    </item> 
</layer-list> 

提拉的使用:

<RadioButton 
     android:id="@+id/radioButtonPositive" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@android:color/transparent" 
     android:button="@android:color/transparent" 
     android:drawableTop="@drawable/ic_choice_background" 
     android:gravity="center" 
     android:onClick="onRadioButtonClicked" 
     android:layout_marginRight="110dp"/> 

的XML生成Wrong xml但我想它生成enter image description here (與外圓的大小相同,這個截圖沒有正確顯示它)

+0

在哪個版本的Android上測試它? – Blackbelt

+0

該屏幕截圖顯示了Android Studio中xml文件的「設計」選項卡上顯示的內容。它呈現API 23.我已經嘗試在4.3,5.0和6.0設備上運行它,並且它們都顯示相同。 – Janneman96

+1

奇怪..嘗試在 Blackbelt

回答

1

更改爲以下

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<!--big light circle--> 
<item> 
    <shape android:shape="oval"> 
     <solid android:color="#EEEEEE" /> 

     <size 
      android:width="50dp" 
      android:height="50dp" /> 

     <stroke 
      android:width="2dp" 
      android:color="#404040" /> 
    </shape> 
</item> 
<!--small dark circle--> 
<item android:bottom="11dp" 
    android:left="11dp" 
    android:right="11dp" 
    android:top="11dp"> 
    <shape android:shape="oval"> 
     <solid android:color="#AEAEAE" /> 

     <stroke 
      android:width="1dp" 
      android:color="#464646" /> 
    </shape> 
</item> 

+0

這工作爲了我!但它不應該是22dp,因爲你在兩邊都是11dp。我建議你添加標籤。 – Janneman96

+0

您能否解釋爲什麼標籤無法按預期工作? – Janneman96

+0

不知道爲什麼。我面臨同樣的問題,只有上述解決方案的工作。 –