我需要在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); }
答案 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