android在自定义可绘制的xml文件中创建椭圆

时间:2016-01-25 06:56:42

标签: android android-layout android-xml android-drawable

我成功创建了自定义xml可绘制文件(图像).i在我的布局中使用它 这是我的源代码:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#1Affffff" />
<stroke
    android:width="1dp"
    android:color="#80ffffff" />


<corners
    android:bottomLeftRadius="4dip"
    android:bottomRightRadius="4dip"
    android:topLeftRadius="4dip"
    android:topRightRadius="4dip" />

 现在我想在中心位置添加椭圆形物体,但我不知道如何将它添加到中心位置。 enyone knoes如何将它添加到中心位置? 谢谢大家

1 个答案:

答案 0 :(得分:0)

像这样创建一个椭圆形的可绘制

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="@color/myColor" />
</shape>

选项1

如果你想在那个矩形的中心添加一个椭圆,只需在imageview中创建另一个椭圆可绘制的负载,并将imageview定位在imageview的中心,使矩形可绘制

选项2

首先从2个drawables

创建位图
Bitmap rectange = BitmapFactory.decodeResource(getResources(), R.drawable.rectangle);
Bitmap oval = BitmapFactory.decodeResource(getResources(), R.drawable.oval);

然后创建画布并绘制位图,使用drawBitmap的输入进行播放以获得椭圆右侧的定位。

// This bitmap will be the bitmap with oval in rectange after
// you finish drawing the canvas attached to it.
Bitmap ovalInRectangle = Bitmap.createBitmap(rectangle.getWidth, rectangle.getHeight, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(ovalInRectangle);
canvas.drawBitmap(rectangle, 0, 0, null);
canvas.drawBitmap(oval, 0,0,null);
return ovalInRectangle;