自定义View

来源:互联网 发布:淘宝上评价管理在哪里 编辑:程序博客网 时间:2024/06/05 00:54
public class MainActivity extends Activity{
    EditText banjing,kuandu,color;
    Button but;
    MyView myView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
    }

    private void init() {
        //找对象
        banjing = (EditText) findViewById(R.id.banjing);
        kuandu = (EditText) findViewById(R.id.kuandu);
        color = (EditText) findViewById(R.id.color);
        but = (Button) findViewById(R.id.but);
        myView = (MyView) findViewById(R.id.myview);
        //给按钮添加监听
        but.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //得到文本框中的值,并转化成int类型
                int banjing1 = Integer.parseInt(banjing.getText().toString());
                int kuandu1 = Integer.parseInt(kuandu.getText().toString());
                int color1 = Integer.parseInt(color.getText().toString());
                //调用MyView中的方法,把值传递过去
                myView.set(banjing1, kuandu1, color1);
            }
        });
    }

}









View类


public class MyView extends View {
    Paint paint;
    public static int banjing,kuandu,color;
    //重写构造方法
    public MyView(Context context) {
        this(context, null, 0);
    }
    public MyView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }
    public MyView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }
    @Override
    protected void onDraw(Canvas canvas) {
        // TODO Auto-generated method stub
        super.onDraw(canvas);
        //设置画笔的完成和宽度还有样式
        paint = new Paint();
        paint.setColor(color);
        paint.setStrokeWidth(kuandu);
        paint.setAntiAlias(true);
        paint.setStyle(Style.STROKE);
        //画圆
        canvas.drawCircle(100, 200,banjing, paint);
    }
    //接受传递过来的产生,并重新绘制圆的方法
    public void set(int banjing,int kuandu,int color){
        this.banjing = banjing;
        this.kuandu = kuandu;
        this.color = color;
        invalidate();
    }
}


0 0
原创粉丝点击