Android:如何在ImageView中绘制矩形

时间:2013-09-05 10:07:32

标签: android imageview draw rect

我需要在ImageView中间绘制一个rect来创建一个CostumeCheckBox。我是Android新手,我不知道这样做。 ImageView / CostumeCheckbox有一个Border:

protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    Rect rect = new Rect();
    Paint paint = new Paint();
    paint.setStyle(Paint.Style.STROKE);        
    paint.setColor(CheckboxBorderColor);        
    paint.setStrokeWidth(borderWidth);
    getLocalVisibleRect(rect);
    canvas.drawRect(rect, paint); }

2 个答案:

答案 0 :(得分:0)

试试这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/ic_launcher"
    android:gravity="center" >

    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

如需参考,请查看我对更简洁问题的回答:How can I bind checkboxes to an image

答案 1 :(得分:0)

如果您的imageview上的常规复选框是一个可行的解决方案,您可以将它们放在FrameLayout中。无需自己绘制复选框,您可以将其添加到XML中:

<FrameLayout>
    <ImageView .../>
    <CheckBox .../>
</FrameLayout>

FrameLayout内部元素的顺序定义了Z-Order,最后一个元素位于顶部。在这里查看FrameLayout:

http://developer.android.com/reference/android/widget/FrameLayout.html