public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.photo3);
setContentView(new MyView(this));
}
}
class MyView extends ImageView{
Paint p = new Paint();
Paint p1 = new Paint();
Paint p2 = new Paint();
ArrayList<Vertex> list = new ArrayList<Vertex>();
MyView(Context context){
super(context);
p.setColor(Color.BLACK);
p.setAntiAlias(true);
p.setStrokeWidth(5);
p1.setColor(Color.RED);
p1.setAntiAlias(true);
p1.setStrokeWidth(5);
p2.setColor(Color.GREEN);
p2.setAntiAlias(true);
p2.setStrokeWidth(5);
}
public class Vertex{
public Vertex(float x, float y, boolean stat){
this.x=x;
this.y=y;
this.stat = stat;
}
float x;
float y;
boolean stat;
}
public void onDraw(Canvas can){
System.out.println("onDraw");
can.drawColor(Color.WHITE);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.test);
can.drawBitmap(bitmap, 0, 0, null);
for(int i=0;i<list.size();i++){
Vertex v = list.get(i);
if(v.stat == true){
can.drawLine(list.get(i-1).x,list.get(i-1).y ,list.get(i).x,list.get(i).y, p1);
}
}
}
public boolean onTouchEvent(MotionEvent e){
System.out.println("onTouchEvent");
if(e.getAction() == MotionEvent.ACTION_DOWN){
System.out.println("ACTION_DOWN");
list.add(new Vertex(e.getX(),e.getY(),false));
}
if(e.getAction() == MotionEvent.ACTION_MOVE){
list.add(new Vertex(e.getX(),e.getY(),true));
System.out.println("ACTION_MOVE");
invalidate();
}
return true;
}
}
이런식의 코딩인데요
setContentView(new MyView(this));를 setContentView(R.layout.photo3);로 해서 실행하려고 하는대요
photo3.xml에 혹시나 해서 클레스를 불러올수있나해서
<pro.photo.MyView android:id="@+id/myview"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_x="4dip"
android:layout_y="0dip">
</pro.photo.MyView>
로 MyView클래스를 불러와보려 했는대 역시나 안되네요
이거 어떻게 하는방법이 없을까요?? 이 문제때문에 문제점이 많네요 ㅠㅠ




만약 에러가나시지않는거라면
setContentView(new MyView(this), new LayoutParam(480, 480)); 해서 실제 값을 넣어 보시겠어요?
레이아웃에서는
android:layout_height="480px"
android:layout_width="480px"
;;