解决Android抽屉被击穿问题
生活随笔
收集整理的這篇文章主要介紹了
解决Android抽屉被击穿问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1,創建一個抽屜DrawerLayout,在V4包下android.support.v4.widget.DrawerLayout,在要設置抽屜的布局中設置android:layout_gravity="right|left"屬性,看效果:
2,在主Activity中
? ? ? ? Step1:找到DrawerLayout控件
1 //找到DrawerLayout的控件 2 dl_drawerlayout_second = (DrawerLayout) findViewById(R.id.dl_drawerlayout_second);? ? ? ? Step2:對DrawerLayout控件進行監聽,且設置一個成員變量boolean類型的flag標記,用于記錄抽屜的開關,這里要提一下,用代碼打開抽屜的方法是dl_drawerlayout_second.openDrawer(Gravity.RIGHT);里面的參數是根據你抽屜的位置,代碼如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | //設置監聽DrawerLayout ????????dl_drawerlayout_second.setDrawerListener(new?DrawerListener() { ????????????? ????????????@Override ????????????public?void?onDrawerStateChanged(int?arg0) { ????????????????// TODO Auto-generated method stub ????????????????? ????????????} ????????????? ????????????@Override ????????????public?void?onDrawerSlide(View arg0,?float?arg1) { ????????????????// TODO Auto-generated method stub ????????????????? ????????????} ????????????? ????????????@Override ????????????public?void?onDrawerOpened(View arg0) { ????????????????// TODO Auto-generated method stub ????????????????flag =?true; ????????????} ????????????? ????????????@Override ????????????public?void?onDrawerClosed(View arg0) { ????????????????// TODO Auto-generated method stub ????????????????flag =?false; ????????????} ????????}); |
? Step3:當你打開抽屜后,在抽屜下面展示的組件中設置點擊觸摸事件
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //設置手勢問題 lv_second_listView_content.setOnTouchListener(new?OnTouchListener() { ???????????????????? ???????????@Override ???????????public?boolean?onTouch(View v, MotionEvent event) { ???????????????????????? ???????????//進行判斷 ???????????if?(SecondActivity.instance.getFlag()) { ???????????????//表示抽屜被打開 ???????????????event.setAction(MotionEvent.ACTION_CANCEL);?//將所有分發的事件對象都取消掉 ???????????} ???????????????????????? ???????????return?false; ???????} }); |
?Step4,還有一種簡單的思想就是在布局文件中將我們的DrawerLayout添加一個點擊事件,但對這個點擊事件不做處理,這樣就不會產生抽屜被擊穿的效果了(推薦使用上面介紹的這種方式,這樣邏輯性更強)。
轉載于:https://www.cnblogs.com/CallMeMadman/p/4923623.html
總結
以上是生活随笔為你收集整理的解决Android抽屉被击穿问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计组之中央处理器:7、指令流水线基本概念
- 下一篇: (软件工程复习核心重点)第七章软件维护-