atomQQ 筆記 之 好友列表與群列表
首先看效果

這里,為了方便邏輯與ui分開,在好友列表與群列表使用Activity,而不是view。
最后,通過 Window 的 .getDecorView();方法獲得view,具體代碼如下:
onCreate(){
........
//好友列表意圖
Intent ittFriends=new Intent(this,FriendListActivity.class);
//這里就獲取到了view
ViewGroup friendsView=(ViewGroup) (m_ActivityManager.startActivity("", ittFriends)).getDecorView();
//通過view得到activity,方便對邏輯代碼控制
FriendListActivity friendListActivity=(FriendListActivity) friendsView.getContext();
//群列表意圖
Intent ittGroups=new Intent(MainActivity.this,GroupListActivity.class);
ViewGroup groupsView=(ViewGroup) (m_ActivityManager.startActivity("", ittGroups)).getDecorView();
GroupListActivity groupListActivity=(GroupListActivity) groupsView.getContext();
.....
}
這樣把ui與邏輯分開的話,代碼相對比較清晰了,總比起來在view或者加載的父activity中寫一大堆控制各種列表的代碼要強。
使用的時候只要調用指定activity的邏輯方法就行了。
獲得了view之后,我們就把它加載到workspace中(如上面圖片),這個workspace,在framework的源碼的Luncher當中的WorkSpace.java,就是安卓的桌面,能左又滑動,稍微改改就行了,然后把上面或得到的好友列表與群列表view加入到這個workspace當中就行了。
這樣的好處是能左右平滑的移動,跟著拇指走。
浙公網安備 33010602011771號