-1

画像である背景を作成し、角を丸くしたいです。次のコードがあります。背景画像は表示されますが、丸みを帯びた角はありません。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>
        <shape android:shape="rectangle" >
            <corners android:radius="20dp" />
        </shape>
    </item>

    <item>
        <bitmap
            android:src="@drawable/tabs_pattern_diagonal"
            android:tileMode="repeat" />
    </item>

</layer-list>

時間の順番を変えてみましたが変わりませんでした

編集

私はイメージビューを持っていません。このレイヤーリストは、線形レイアウトの背景として適用されています

4

3 に答える 3

1

角丸を自分で実装したくない場合は、このライブラリを使用できます。

于 2013-09-11T11:53:37.237 に答える
0

以下を試すことができます:

public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) {
    Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
        bitmap.getHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(output);

    final int color = 0xff424242;
    final Paint paint = new Paint();
    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
    final RectF rectF = new RectF(rect);
    final float roundPx = 12;

    paint.setAntiAlias(true);
    canvas.drawARGB(0, 0, 0, 0);
    paint.setColor(color);
    canvas.drawRoundRect(rectF, roundPx, roundPx, paint);

    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
    canvas.drawBitmap(bitmap, rect, rect, paint);

    return output;
  }

ソース

Romain Guyの記事も参照できます。

于 2013-09-11T11:29:29.583 に答える
-1

これを試して:

    <item>
        <shape android:shape="rectangle" android:padding="10dp" >
        <corners
         android:bottomRightRadius="15dp"
         android:bottomLeftRadius="15dp"
      android:topLeftRadius="15dp"
      android:topRightRadius="15dp"/>
        </shape>
    </item>

    <item>
        <bitmap
            android:src="@drawable/tabs_pattern_diagonal"
            android:tileMode="repeat" />
    </item>

</layer-list>
于 2013-09-11T11:53:22.957 に答える