view 拖動&插入
即: 支援 拖**標 然後把之插入 2個view 之間
為了降低難度 選用了若干imageview 放入viewgroup : vertical linearlayout
[** 步驟]
1. 定義布局:main.xml :
< ?xml version="1.0" encoding="utf-8"?>< linearlayout xmlns:android=""
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/linear"
>
< imagebutton
android:layout_width="100dip"
android:layout_height="100dip"
android:src="@drawable/beijing1_b"/>
< imagebutton
android:layout_width="100dip"
android:layout_height="100dip"
android:src="@drawable/beijing2_b"/>
< imagebutton
android:layout_width="100dip"
android:layout_height="100dip"
android:src="@drawable/beijing3_b"/>
< imagebutton
android:layout_width="100dip"
android:layout_height="100dip"
android:src="@drawable/beijing3_b"/>
< /linearlayout>
2. 變數初始化
llayout = (linearlayout)findviewbyid(r.id.linear);
3. 定義ontouchlistener 用於監聽所有動作 並註冊linearlayour的所有view 實現為:
touchlistener = new ontouchlistener()
return false;
} };
//to listener all imageview
for(int i=0;i< p>
imageview iv = (imageview)llayout.getchildat(i);
if(iv !=null)
else
}
4. getlocation(view) 用於: 根據目標view 判斷待插入的位置 即:哪2個相鄰imageview 之間 實現為:
public int getlocation(view v)
else
} }
//otherwise return last location
return llayout.getchildcount()-1;
}
android view介紹 隨心
activity是android程式的顯示層,每乙個顯示視窗都是乙個activity 可是activity本身無法顯示在螢幕上,我們可以把它理解成是乙個抽象層,乙個殼子 就譬如乙個jsp頁面,它本身並沒有顯示出來任何東西,負責顯示的是他生成的html標籤。那麼android裡誰才是真正顯示出來的部分...
android view繪製過程
簡單描述可以解釋為 計算大小 measure 布局座標計算 layout 繪製到螢幕 draw 下面看看每一步的動作到底是什麼,第一步 當activity啟動的時候,觸發初始化view過程的是由window物件的decorview呼叫view 具體怎樣從xml中讀取是用layoutinflater....
android view怎樣重新整理
兩種方式重新整理 主線程可以直接呼叫invalidate 方法重新整理 子執行緒可以直接呼叫postinvalidate 方法重新整理。api的描述是這樣的 invalidatethe whole view.if the view is visible,ondraw canvas will be c...