我是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);
}}
这里有什么问题我找不到。请亲切帮忙。谢谢。
答案 0 :(得分:1)
尝试将AttributeSet
的其他构造函数添加到您的类:
public MyView(Context context, AttributeSet attrs){
super(context, attrs);
}
其他一切都没问题。