您好我想知道如何在imageview中创建一个矩形。正如你在图像中看到的那样(http://i.stack.imgur.com/ZCpdT.png)我需要创建一个矩形内部和外部,这对于确定碰撞到外部没有任何问题,但似乎无法创建内部的一个。为了创建内部的,我这样做了:
Rect r1 = new Rect(Object1.x, Object1.y, Object1.x + Bounds1.width(), Object1.y + Bounds1.height());
对于内部的人曾经想过要做同样的事,但是把所有的值减半,但不起作用=(
答案 0 :(得分:2)
我认为你必须写自定义imageview扩展ImageView并覆盖onDraw方法。 画一个矩形。
答案 1 :(得分:0)
扩展图像视图。在绘制时覆盖并绘制一个矩形
public class ExtendedImageView extends ImageView {
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setStrokeWidth(3);
canvas.drawRect(50, 50, 80, 80, paint);
}
}
编辑:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ExtendedImageView ev= new ExtendedImageView(this);
ev.setBackgroundResource(R.drawable.ic_launcher);// set background
setContentView(ev);
}
class ExtendedImageView extends ImageView {
public ExtendedImageView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setStrokeWidth(3);
canvas.drawRect(300, 300, 100, 100, paint);// draw rectangle on it.
}
}
}