編輯:關於Android編程
先寫個簡單的demo:
布局文件中一個繼承自ViewGroup的自定義控件MyLayout包含一個Button:
自定義控件中重寫事件分發的兩個重要方法:onInterceptTouchEvent 和 dispatchTouchEvent
public class MyLayout extends LinearLayout { public MyLayout(Context context, AttributeSet attrs) { super(context, attrs); } //是否攔截事件的傳遞,true:攔截 @Override public boolean onInterceptTouchEvent(MotionEvent ev) { //false:把touch事件傳遞到子控件 return false; } //LinearLayout並沒有重寫dispatchTouchEvent //ViewGroup重寫了View的dispatchTouchEvent方法 @Override public boolean dispatchTouchEvent(MotionEvent ev) { return super.dispatchTouchEvent(ev); } }在MainActivity中設置兩個控件的點擊事件:
layout.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Log.i(tag, click layout --------); } }); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Log.i(tag, click button --------); } });
如果在MyLayout的onInterceptTouchEvent 中return true則表示MyLayout阻止了事件的傳遞,此時打印click layout
問題:當點擊屏幕時系統如何確定是哪個view被點中呢?
實際上每個view對應屏幕上的一塊矩形區域,當點擊屏幕時系統通過判斷該點屬於哪塊矩形區域來確定哪個view被選中
好久沒更新過博客了。這段時間總算是忙完了,抽點時間出來更新下博客。這次跟大家帶來的是一個很簡單的短信驗證碼。相信這個驗證碼的功能基本上99的項目都需要用到,我這裡是用的雲
一、百度在線音樂旋轉木馬效果就上面那個,當音樂在播放的時候,那個光碟輪子在轉,就想旋轉木馬一般。感覺好好玩啊。碰巧想起前陣子做音樂播放器,哎,那這個也可以做在手機的音樂播
以前寫過一篇ViewPager:內容content+指示點的Demo; 這篇文章繼續介紹ViewPager:內容content+標題title的Demo。
AndroidAnnotations是一個能夠讓你快速進行Android開發的開源框架,它能讓你專注於真正重要的地方。 使代碼更加精簡,使項目更加容易維護,它的目標就是“