为什么角(半径)不能不同?

时间:2012-05-12 03:40:38

标签: android

我正在努力:

<corners 
 android:bottomRightRadius="0dp"
 android:bottomLeftRadius="0dp"
 android:topLeftRadius="10dp"
 android:topRightRadius="10dp"/>

没有角落半径。

<corners 
 android:bottomRightRadius="1dp"
 android:bottomLeftRadius="1dp"
 android:topLeftRadius="10dp"
 android:topRightRadius="10dp"/>

所有角落半径== 10dp。

是否可能&amp;如何指定角落:10dp(左侧)10dp(右侧)0 0(底部)?

4 个答案:

答案 0 :(得分:4)

在Android开发者http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape

说明注意:每个角必须(最初)提供大于1的角半径,否则没有角是圆角。如果你想要特定的角不被舍入,一个解决方法是使用android:radius来设置一个大于1的默认角半径,但是然后使用你真正想要的值覆盖每个角,提供零(“0dp”) )你不想要圆角。

如果您执行代码,即使使用预览警告也会看起来很好,我认为这是一个错误或类似的事情。这就是我写的:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/brown_light"/>
        <corners
            android:radius="5dp"
            android:topLeftRadius="0dp"
            android:topRightRadius="0dp"
            android:bottomLeftRadius="30dp"
            android:bottomRightRadius="30dp"
            />

</shape>

答案 1 :(得分:2)

这是我的实际可绘制(形状)XML文件。是的,可以根据您的要求提供不同的尺寸。这是XML代码:

<gradient
    android:startColor="#696969"
    android:endColor="#a2a2a2"
    android:angle="90"  >
</gradient>

<padding
    android:left="5dp"
    android:top="5dp"
    android:right="5dp"
    android:bottom="5dp"    >
</padding>

<corners
    android:radius="10dp"
    android:bottomLeftRadius="0dp"
    android:bottomRightRadius="0dp" >
</corners>

答案 2 :(得分:1)

<corners android:radius="1dp"
  android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" 
  android:topLeftRadius="5dp" android:topRightRadius="5dp"/>

尝试上面的代码,将左上角和右上角设置为5 DP

答案 3 :(得分:1)

你可以这样做

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>
        <shape android:shape="rectangle" >
            <solid android:color="#000000" />

            <corners android:radius="8dp" />
        </shape>
    </item>
    <item android:top="8dp">  <!-- the distance to top -->
        <shape android:shape="rectangle" >
            <solid android:color="#000000" />
        </shape>
    </item>

</layer-list>