这里的错误是什么,使用xml中的自定义视图类?

时间:2014-05-04 18:04:48

标签: android xml

我是Android开发的新手,并试图获得帮助。我正在尝试使用main layout.xml文件中的自定义视图类MyView。我已经进行了双重检查,并且没有显示错误,并且清单正确但仍然无法正常工作。强制关闭。这是我的xml文件代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<com.example.drawingacircle.MyView
    android:id="@+id/mview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>

和java文件

public class MyView extends View {

public MyView(Context context) {
     super(context);
     // TODO Auto-generated constructor stub
}

@Override
protected void onDraw(Canvas canvas) {
   // TODO Auto-generated method stub
   super.onDraw(canvas);
   int x = getWidth();
   int y = getHeight();
   int radius;
   radius = 100;
   Paint paint = new Paint();
   paint.setAntiAlias(true);
   paint.setStyle(Paint.Style.STROKE);
   paint.setStrokeWidth(5);
   paint.setColor(Color.WHITE);
   canvas.drawPaint(paint);
   // Use Color.parseColor to define HTML colors
   paint.setColor(Color.parseColor("#e5e5e5"));
   canvas.drawCircle(x / 2, y / 2, radius, paint);
}}

这里有什么问题我找不到。请亲切帮忙。谢谢。

1 个答案:

答案 0 :(得分:1)

尝试将AttributeSet的其他构造函数添加到您的类:

public MyView(Context context, AttributeSet attrs){
    super(context, attrs);
}

其他一切都没问题。