Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android可绘制形状:将矩形变成正方形_Android_Android Layout - Fatal编程技术网

Android可绘制形状:将矩形变成正方形

Android可绘制形状:将矩形变成正方形,android,android-layout,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.se

我试图在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>
 <?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>
除此之外,一切正常

<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>
有人有什么好主意吗?谢谢

AFAIK:形状根据视图的布局自行拉伸。 相反,您可以定义方形视图并设置形状背景

使用图像作为背景