2011-10-21 82 views
1

我想要在Android中定義一個漂亮的圓角正方形,但我只能得到一個不錯的圓角矩形。Android可繪製形狀:將矩形變爲方形

我在/ RES /繪製看起來這樣的XML:除了

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

這我一直希望做的東西方,但沒有這樣的運氣

<?xml version="1.0" encoding="utf-8"?> 
<selector 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res/uk.co.alexlydiate.sequencer"> 

<item android:state_pressed="true" 
     app:state_playing = "true" > 
    <shape> 
     <stroke 
      android:width="2dp" 
      android:color="@color/red" /> 
     <corners 
      android:radius="3dp" /> 
     <padding 
      android:left="10dp" 
      android:top="10dp" 
      android:right="10dp" 
      android:bottom="10dp" /> 
     <solid 
      android:color="@color/blue" /> 
     <size 
      android:width="3dp" 
      android:height="3dp" /> 
    </shape>   
</item> 
</selector> 

而且一切工作正常。

我的佈局是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/grid8x8" 
    android:gravity="center" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

<uk.co.alexlydiate.sequencer.Key android:background="@drawable/key"   
    android:id="@+id/keyA1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" android:layout_margin="2px" 
/> 
<uk.co.alexlydiate.sequencer.Key android:background="@drawable/key"   
    android:id="@+id/keyA2" 
    android:layout_below="@+id/keyA1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" android:layout_margin="2px" 
/> 
</RelativeLayout> 

任何人有什麼好主意?謝謝!

回答

0

AFAIK:shapes根據View的佈局自行伸展。 相反,您可以定義正方形View並設置shape背景。

OR

使用圖像作爲背景