Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 開發自定義View

Android 開發自定義View

編輯:關於Android編程

 

 

【附:——自定義View常處理的回調函數

onFinishInflate() 當View中所有的子控件均被映射成xml後觸發
onMeasure(int, int) 確定所有子元素的大小
onLayout(boolean, int, int, int, int) 當View分配所有的子元素的大小和位置時觸發
onSizeChanged(int, int, int, int) 當view的大小發生變化時觸發
onDraw(Canvas) view渲染內容的細節
onKeyDown(int, KeyEvent) 有按鍵按下後觸發
onKeyUp(int, KeyEvent) 有按鍵按下後彈起時觸發
onTrackballEvent(MotionEvent) 軌跡球事件
onTouchEvent(MotionEvent) 觸屏事件
onFocusChanged(boolean, int, Rect) 當View獲取或失去焦點時觸發
onWindowFocusChanged(boolean) 當窗口包含的view獲取或失去焦點時觸發
onAttachedToWindow() 當view被附著到一個窗口時觸發
onDetachedFromWindow() 當view離開附著的窗口時觸發,該方法和 onAttachedToWindow() 是相反。
onWindowVisibilityChanged(int) 當窗口中包含的可見的view發生變化時觸發】

 

1、繼承View類,重載父類方法(根據自己的需要進行重載)

 

package sn.dolp.view;

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

public class XmlView extends View {
	public float cx = 40;
	public float cy = 50;
	Paint paint = new Paint();

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

	public XmlView(Context context, AttributeSet attrs) {
		super(context, attrs);
		// TODO Auto-generated constructor stub
	}

	public XmlView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		// TODO Auto-generated constructor stub
	}
	@Override
	public void onDraw(Canvas canvas)
	{
		super.onDraw(canvas);
		paint.setColor(Color.RED);
		canvas.drawCircle(cx, cy, 15, paint);
	}
	@Override
	public boolean onTouchEvent(MotionEvent event)
	{
		cx = event.getX();
		cy = event.getY();
		invalidate();
		
		return true;
	}
}

2、修改XML布局

 


    

原文地址:http://blog.csdn.net/qingdujun/article/details/41551151
參考文獻:UUTON的文章,http://www.uuton.com/post/3f493_24c2c7,2014年11月27日19:12:49

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved