-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 回答