我已阅读以下链接:
http://marakana.com/s/android_2d_graphics_example,1036/index.html
http://developer.android.com/reference/android/graphics/Canvas.html
Activity.setContentView,View.setContentView?
如何在没有“setContentView(R.layout.main)”的情况下创建活动
http://www.jayway.com/2009/03/26/layout-resources-in-android/
我已经阅读了之前谈论我的问题的文章,但我无法解决我的问题。
我的问题是我想画直线来模拟图像之间的连接,但基本上是画直线。
我见过的所有示例都有从活动继承的主类,并有另一个从视图继承的内部类。在主类中设置包含 View 类的用户界面,所以我们有一个空的用户界面。像这样的东西:
public class ActivityMain extends Activity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView view1 =new MyView(this);
setContentView(view1);
}
public class MyView extends View {
public MyView(Context c) {
super(c);
}
}
//And more code
}
我想在继承自活动的类中设置我的用户界面(xml文件)(像往常一样):
public class ActivityMain extends Activity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.union);
}
}
而且我希望从继承自活动的类中绘制直线,我不希望有任何继承自 View 的类。
我尝试了以下但我没有看到任何行:
public boolean onTouchEvent(MotionEvent event) {
int x = (int) event.getX();
int y = (int) event.getY();
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
Canvas canvas = new Canvas();
Paint paint = new Paint();
paint.setColor(Color.BLACK);
canvas.drawLine(0, 0, 300, 700, paint);
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
在前面的方法中,我想从角 0,0 到角 300,700 画一条线。这是一个简单的测试。但我什么都没画,也不知道为什么。