首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android -可绘制,顶部仅有圆角

Android -可绘制,顶部仅有圆角
EN

Stack Overflow用户
提问于 2012-01-20 01:30:56
回答 4查看 152.7K关注 0票数 181

我画了一个圆角矩形作为背景:

代码语言:javascript
复制
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/white" />
    <stroke android:width="1dp" android:color="@color/light_gray" />
    <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />
    <corners android:radius="6dp" />
</shape>

正如预期的那样,这工作得很好。

现在,我想将其更改为仅对顶角进行圆角,因此我将其更改为:

代码语言:javascript
复制
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/white" />
    <stroke android:width="1dp" android:color="@color/light_gray" />
    <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />
    <corners android:topLeftRadius="6dp" android:topRightRadius="6dp"
             android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp"/>
</shape>

但是现在所有的角都不是圆角的,我得到了一个普通的矩形。这里我漏掉了什么?

EN

回答 4

Stack Overflow用户

发布于 2015-04-06 21:27:39

试着这样做:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:bottom="-20dp" android:left="-20dp">
        <shape android:shape="rectangle">
            <solid android:color="@color/white" />

            <corners android:radius="20dp" />
        </shape>
    </item>
</layer-list>

似乎不适合设置不同的矩形圆角半径。所以你可以使用这个黑客。

票数 15
EN

Stack Overflow用户

发布于 2016-04-05 21:02:57

在我的例子中,代码如下

代码语言:javascript
复制
    <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:top="10dp" android:bottom="-10dp"
        >

        <shape android:shape="rectangle">
            <solid android:color="@color/maincolor" />

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

    </item>
    </layer-list>
票数 15
EN

Stack Overflow用户

发布于 2016-05-29 09:48:15

您可能需要阅读此https://developer.android.com/guide/topics/resources/drawable-resource.html#Shape

下面是一个注释。

注意:必须(最初)为每个角提供大于1的角半径,否则角不会变圆。如果你不想要圆角,一个变通办法是使用android:radius设置一个大于1的默认圆角半径,然后用你真正想要的值覆盖每个角,在你不想圆角的地方提供零("0dp")。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8930555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档