下面是我的程序,我在框架中创建了三个新视图。单击两个不同的视图时,我想在视图之间画一条线。我正在尝试弄清楚如何做到这一点......
Ball ball1=new Ball(this,100,100,45);
Ball ball2=new Ball(this,400,100,45);
Ball ball3=new Ball(this,250,350,45);
FrameLayout frame1=(FrameLayout) findViewById(R.id.main_view);
frame1.addView(ball1);
frame1.addView(ball2);
frame1.addView(ball3);
frame1.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN: {
float x = event.getX();
float y = event.getY();
System.out.println("x:"+x+"y:"+y);
if (x>55 && x<142 && y>55 && y<142)
{
System.out.println("working1 "+count);
Toast toast = Toast.makeText(getBaseContext(), "Works fine", Toast.LENGTH_SHORT);
toast.show();
}
用于在两个视图之间画一条线。
为绘制一条线的视图创建类。
public class DrawView extends View {
Paint paint = new Paint();
public DrawView(Context context) {
super(context);
paint.setColor(Color.BLACK);
}
@Override
public void onDraw(Canvas canvas) {
canvas.drawLine(0, 50, 350, 50, paint);
}
}
现在从您想要在布局中添加此行的活动中。
创建此类的对象并将此视图添加到您的布局中。
根据你的要求尝试这样。
绘制视图绘制视图;
DrawView = 新的DrawView(this);
frame1.addView(ball1);
// add that view here
frame1.addView(drawView);
frame1.addView(ball2);
// same way here
frame1.addView(ball3);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)