【问题标题】:How to correct set rounded corners in Android for Relative or else layout?如何在 Android 中为相对或其他布局更正设置圆角?
【发布时间】:2012-10-02 00:52:47
【问题描述】:

Android 正在杀死我。

我想为相对布局设置圆角,很简单

可绘制的 XML 可能看起来像

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
 <padding android:left="1dp" android:top="1dp"
            android:right="2dp" android:bottom="2dp" />
    <solid android:color="#FFFFFF" />

    <corners android:radius="15dp" />

    <stroke
        android:width="2dp"
        android:color="#FFF" />

</shape>

但是,如果我将其他布局或其他小部件(如 ImageView)插入到相对布局中,我没有剪裁孩子 - 参见图片

你怎么能看到我没有剪裁子元素。

我该怎么做?

也许它有助于我希望像 iOS 中那样使用圆角

givenView.layer.cornerRadius =roundAngle;
    [givenView.layer setBorderColor:[[borderColor colorWithAlphaComponent:alphaBorder] CGColor]];
    [givenView.layer setBorderWidth:borderWidth];
    givenView.clipsToBounds = YES;

我还想告诉每个认为填充是解决方案的人:

这里设置填充。

要正确理解问题,请查看层次结构图

在这里:

RelativeLayout - 已将 xml 描述为背景,

LinearLayout - 具有复杂布局的自定义对象的容器,其中包含作为背景的图像和其他小部件

profileStatistic - 复杂的自定义小部件,在外部布局中有许多子对象。

布局的全图是:

内部控件的布局(profileStatistic):

附: 我不需要 9 路径。不是关于 9 路径的问题!

【问题讨论】:

    标签: android rounded-corners


    【解决方案1】:

    如果您看到图像圆角被应用。但布局的孩子没有圆形矩形。这就是为什么那个角落会离开父母的背景。要解决此问题,您可以为父布局提供一些填充,以便它不会超出父布局的背景。 或者您也可以将相同类型的圆角形状应用于子视图。

    【讨论】:

    • 不正确。由于这里的情况:如果圆角设置为 15dp,并且填充(校正)设置为 5dp,我会在框架边框和内部内容小部件之间获得空间位置。
    • 给定的 5dp 填充不足以满足 15dp 的半径。这就是为什么那些短号要熄灭的原因。您可以增加该填充并检查。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多