15

Android が私を殺しています。

相対レイアウトの角を丸くしたいのですが、簡単です

Drawable 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):

ここに画像の説明を入力

PS 9パスは必要ありません。9 パスに関する質問ではありません。

4

1 に答える 1

1

画像の丸みを帯びた角が適用されている場合。しかし、レイアウトの子には丸い四角形がありません。そのため、 の角が親の背景からはみ出しています。これを解決するには、親レイアウトの背景からはみ出さないように親レイアウトにパディングを与えます。または、同じ種類の丸みを帯びた角の形のドローアブルを子ビューにも適用できます。

于 2012-10-11T11:51:32.033 に答える