网站建设资讯

NEWS

网站建设资讯

Android怎么自定义view组件-创新互联

Android怎么自定义view组件?这篇文章运用了实例代码展示,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。

目前成都创新互联已为千余家的企业提供了网站建设、域名、网站空间、网站托管、服务器租用、企业网站设计、兴业网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

Android中的组件类似于swxing中的Panel,它只是一片空白区域,对于UI组件来说,只是在其中绘制外观。


开发者可以继承view,自定义自己的组件,然后重写其中的方法:


构造器:当java创建或者xml创建组件时调用


Android怎么自定义view组件

Android怎么自定义view组件

下面通过一个例子,该例子设计一个组件,在手触摸的地方绘制一个圆形:


新建java类,添加如下代码:

package com.example.tupianliulanqi;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.MotionEvent;
import android.view.View;

public class MyView extends View {
	private Paint p = new Paint();
	private float myX = 0;
	private float myY = 0;
	public MyView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
	}
	
	//用于重新绘制组件
	public void onDraw(Canvas canvas) {
		super.onDraw(canvas);
		//设置画笔属性
		p.setColor(Color.RED);
		canvas.drawCircle(myX, myY, 15, p);
	}
	
	//触摸事件发生时调用
	public boolean onTouchEvent(MotionEvent event) {
		myX = event.getX();
		myY = event.getY();
		//告诉需要重新绘制组件
		this.invalidate();
		return true;
	}
}

在Activity中添加:

public class MainActivity extends Activity {

	MyView myview;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		LinearLayout layout = (LinearLayout)this.findViewById(R.id.main);

		myview = new MyView(this);;
		layout.addView(myview);
	}

以上就是Android自定义view组件的详细内容,代码示例简单明了,如果在日常工作遇到此问题。通过这篇文章,希望你能有所收获,更多详情敬请关注创新互联行业资讯频道!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页题目:Android怎么自定义view组件-创新互联
文章位置:http://cdweb.net/article/csdchh.html