Android drawable shape:将Rectangle变成Square

时间:2011-10-21 13:22:16

标签: android android-layout

我正在尝试在Android中定义一个漂亮的圆角方形,但我只能得到一个漂亮的圆角矩形。

/ res / drawable中的我的xml如下所示:

<?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>

除了

之外,一切正常
<size android:width="3dp" android:height="3dp" />

我希望这件事能让事情成为现实,但没有这样的运气。

我的布局如下:

 <?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>

有人有什么好主意吗?谢谢!

1 个答案:

答案 0 :(得分:0)

AFAIK:shapes根据View的布局展开自己。 相反,您可以定义 Square View并设置shape背景。

OR

使用图像作为背景