1.二級(jí)列表(ExpandableListView)1.創(chuàng)建布局,找控件2.獲取數(shù)據(jù):網(wǎng)絡(luò)數(shù)據(jù),死數(shù)據(jù)3.創(chuàng)建適配器:10個(gè)方法,兩個(gè)優(yōu)化(ViewHolder 避免重復(fù)找id,ContentView存放已創(chuàng)建的布局,方便復(fù)用)4.設(shè)置適配器
2,ListView手動(dòng),自動(dòng)加載更多(1)listView1.創(chuàng)建布局,找控件2.獲取網(wǎng)絡(luò)數(shù)據(jù)3.創(chuàng)建適配器4.設(shè)置適配器(2)手動(dòng)加載更多1.創(chuàng)建布局,找控件2.獲取網(wǎng)絡(luò)數(shù)據(jù)3.創(chuàng)建適配器4.設(shè)置適配器5.給listView添加一個(gè)footer6.點(diǎn)擊footer中button加載更多:page++,獲取數(shù)據(jù)(3)網(wǎng)絡(luò)加載更多1.創(chuàng)建布局,找控件2.獲取網(wǎng)絡(luò)數(shù)據(jù)3.創(chuàng)建適配器4.設(shè)置適配器5.定義一個(gè)變量isbuttom表示是否滑倒底部6.listView設(shè)置滑動(dòng)監(jiān)聽(tīng)事件SCROLL_STATE_IDLE,手指未觸摸屏幕,且屏幕靜止SCROLL_STATE_TOUCH_SCROLL,手指未離開(kāi)屏幕滑動(dòng)SCROLL_STATE_FLING,手指使勁滑動(dòng)屏幕,然后手指離開(kāi)屏幕,屏幕仍在滑動(dòng)3,側(cè)滑菜單1,側(cè)滑菜單1.添加依賴2.創(chuàng)建布局:DrawerLayout,NavigationView(打開(kāi)方式:layout_gravity=left,header,menu)3.設(shè)置ActionBar 在styles修改屬性為NoActionBar,toolbar設(shè)置logo,標(biāo)題,副標(biāo)題,關(guān)聯(lián)toolbar和側(cè)滑菜單4.監(jiān)聽(tīng)事件,側(cè)滑頭部監(jiān)聽(tīng)(mNv.getHeaderView獲取),側(cè)滑菜單監(jiān)聽(tīng)(mNv.setNavigationItemSelectedListener)DrawerLayout(隨X軸移動(dòng)-mDl.addDrawerListener——getRight()),代碼關(guān)閉打開(kāi)側(cè)滑菜單(openDrawer(Gravity.LEFT),closeDrawer(Gravity.LEFT))5.沉浸狀態(tài)欄,首先DrawerLayout引入屬性android:fitsSystemWindows="true",接下來(lái)在res下創(chuàng)建文件values-v21,文件內(nèi)添加文件styles.xml,添加屬性<item name="android:statusBarColor">#00FFFFFF</item>4,選項(xiàng)菜單1,創(chuàng)建選項(xiàng)菜單onCreateOptionsMenu:menu創(chuàng)建的兩種方式(代碼,menu)showAsAction顯示在toolbar2.選項(xiàng)菜單的點(diǎn)擊事件onOptionsItemSelected? 通過(guò)switch選擇5,上下文菜單1.注冊(cè)上下文菜單registerForContextMenu()2.創(chuàng)建上下文菜單onCreateContextMenu3.上下文菜單的點(diǎn)擊事件onContextItemSelected選項(xiàng)菜單和上下文菜單區(qū)別OptionsMenu是整個(gè)界面共用,ContextMenu是注冊(cè)給某個(gè)組件,此組件擁有菜單,沒(méi)有注冊(cè)的組件沒(méi)此菜單6,RecyclerView一、recyclerView1,添加依賴(版本問(wèn)題注意),創(chuàng)建布局2,設(shè)置布局管理器(三種顯示方式:線性布局、網(wǎng)格布局、瀑布流布局)3,獲取數(shù)據(jù)4,創(chuàng)建適配器——重寫三個(gè),通過(guò)接口回調(diào)實(shí)現(xiàn)點(diǎn)擊事件 LinearLayoutManager()、GridLayoutManager()、StaggeredGridLayoutManager()5設(shè)置適配器二、RecyclerView布局:list+banner1, RecyclerView基本使用2,定義類型常量3,重寫方法getItemViewType()根據(jù)位置返回不同類型4,重寫oncreateViewHolder()根據(jù)不同類型加載不同的布局5,重寫onBindViewHolder()根據(jù)不用類型加載不同數(shù)據(jù)注意1、獲取條目總數(shù):list.size()+12、onBindViewHolder:獲取別表?xiàng)l目數(shù)據(jù)的時(shí)候,position+17,RecyclerView通過(guò)接口回調(diào)實(shí)現(xiàn)點(diǎn)擊事件1,在adapter定義一個(gè)內(nèi)部接口,內(nèi)部接口定義一個(gè)方法,方法參數(shù)是我們需要返回值的;2,在adapter定義接口變量,并設(shè)置set方法3,在onBindVIewholder()中,給條目做一個(gè)點(diǎn)擊事件4,在fragment或者activity中,使用adapter對(duì)象調(diào)用點(diǎn)擊事件即可8,RecyclerView添加刷新1,添加依賴2,在布局中添加刷新的控件并找控件3,給刷新控件添加加載更多、下拉刷新添加監(jiān)聽(tīng)4,刷新完畢列表,關(guān)閉SmartRefreshLayout頭和腳。
作者:Jijiahui
鏈接:http://www.itdecent.cn/p/e2e76c055f27
來(lái)源:簡(jiǎn)書
簡(jiǎn)書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。