您的位置:首页 > 编程语言 > Java开发

在xml中调用自己用java代码定义的View

2015-12-10 17:44 555 查看
1.在res中new一个class继承view.View,重写ondraw方法,写出自己的view
package com.zzw.myView;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.View;public class MyView extends View {private Paint paint;// 如果以后这个自定义的view需要被java代码操作就用这个构造方法public MyView(Context context) {super(context);}// 如果以后这个自定义的view仅仅是在xml中静态摆放就用这个构造方法// 如果两者都需要,可以同时建立这两个构造方法public MyView(Context context, AttributeSet attrs) {super(context, attrs);// 初始化画笔paint = new Paint();}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);paint.setColor(Color.RED);// 设置画笔颜色canvas.drawRect(5, 5, 200, 200, paint);// 绘制左上角为(5,5),长宽为200的矩形paint.setColor(Color.GREEN);paint.setTextSize(30);canvas.drawText("hello,world", 5, 250, paint);}}
2.在要显示的xml文件中
<RelativeLayout 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"tools:context="com.zzw.myView.MainActivity" ><!-- 用包名.类名(自定义的view类) --><com.zzw.myView.MyViewandroid:layout_width="wrap_content"android:layout_height="match_parent" /></RelativeLayout>
3.调用该xml
package com.zzw.myView;import android.app.Activity;import android.os.Bundle;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: