侧滑菜单DrawerLayout的用法
来源:互联网 发布:房地产大数据来源 编辑:程序博客网 时间:2024/06/05 17:53
网上找了很多关于DrawerLayout的用法的文章,大神们的开发经验真不是吹出来的。可惜我的电脑配置不好,只能用eclipse来做出效果。
DrawerLayout的一个简单实现
<android.support.v4.widget.DrawerLayout />
自定义的控件要加上完整的包名,我的只能自己手动敲上去,因为eclipse的自定义控件没有代码提醒的,所以打的时候要细心点。
第二个**<FrameLayout />**
是抽屉抽出来后半显示的布局
当然,接下来的第三个<ListView />
当然就是抽屉的布局文件了,后续会在该布局的头部加上header头。
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <FrameLayout android:id="@+id/fl" android:layout_width="match_parent" android:layout_height="match_parent" > </FrameLayout> <ListView android:background="#cccc00" android:id="@+id/lv" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" > </ListView></android.support.v4.widget.DrawerLayout>
布局文件写好之后,我们在Activity文件中做个简单的设置就可以让我们的抽屉显示出来了,虽然功能不是很完善,不过也算是做出点成果了。
@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.drawer_layout); lv = (ListView) this.findViewById(R.id.lv); lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new String[] { "jj", "kk" })); }//通过ActionBarDrawerToggle可以监听DrawerLayout的打开与关闭事件mDrawerLayout = (DrawerLayout) this.findViewById(R.id.drawer_layout);mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,android.R.drawable.ic_input_add, R.string.app_name,R.string.hello_world) {erride public void onDrawerOpened(View drawerView) { toolbar.setTitle("open");// toolbar.scrollBy(0, -30); toolbar.setVisibility(View.GONE); super.onDrawerOpened(drawerView); } @Override public void onDrawerClosed(View drawerView) { toolbar.setTitle(mTitle); toolbar.setVisibility(View.VISIBLE); super.onDrawerClosed(drawerView); } };
调用ActionBarDrawerToggle.syncState() 在Activity的onPostCreate()中;指示ActionBarDrawerToggle与DrawerLayout的状态同步,并将ActionBarDrawerToggle中的drawer图标,设置为ActionBar的Home-Button的icon
/** activity创建完成后 */ @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); mDrawerToggle.syncState();//该方法会自动和actionBar关联, 将开关的图片显示在了action上,如果不设置,也可以有抽屉的效果,不过是默认的图标 }/**
设备配置改变时 例如屏幕转向
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); mDrawerToggle.onConfigurationChanged(newConfig); }
/* drawer的监听的另一种方法 */
private class MyDrawerListener implements DrawerLayout.DrawerListener { @Override public void onDrawerOpened(View drawerView) {// 打开drawer mDrawerToggle.onDrawerOpened(drawerView);//开关状态改为opened } @Override public void onDrawerClosed(View drawerView) {// 关闭drawer mDrawerToggle.onDrawerClosed(drawerView);//开关状态改为closed } @Override public void onDrawerSlide(View drawerView, float slideOffset) {// drawer滑动的回调 mDrawerToggle.onDrawerSlide(drawerView, slideOffset); } @Override public void onDrawerStateChanged(int newState) {// drawer状态改变的回调 mDrawerToggle.onDrawerStateChanged(newState); }
0 0
- 侧滑菜单DrawerLayout的用法
- DrawerLayout侧滑菜单
- DrawerLayout---侧滑菜单
- DrawerLayout 侧滑菜单
- Drawerlayout侧滑菜单
- Drawerlayout侧滑菜单
- 侧滑菜单-drawerLayout
- DrawerLayout侧滑菜单
- DrawerLayout 侧滑菜单
- 侧滑菜单DrawerLayout
- 侧滑菜单 DrawerLayout
- Android侧滑菜单DrawerLayout的使用
- AndroidUI 侧滑菜单 DrawerLayout的使用
- 侧滑菜单DrawerLayout+ExpandableListView的实现
- DrawerLayout(侧滑菜单)的使用
- 侧滑菜单DrawerLayout的使用
- DrawerLayout侧滑菜单的简单实现
- 侧滑菜单--DrawerLayout的使用
- Android Service完全解析
- C#控制台基础 File.AppendAllText,以追加的方式,即不改变txt中的原有内容,在后面添加一个string的内容
- 安装和配置VNC服务器的法则
- python小技巧——enumerate,operator和Counter
- MongoDB之$in的用法
- 侧滑菜单DrawerLayout的用法
- 斐波那契数列解法
- AndroidStudio指定git的忽略文件
- Android中shape属性详解
- 笔记-android进程
- MySQL基础语法
- 检查二叉树B是否为二叉树A的子树
- 解决Mysql读写分离数据延迟
- nefu481最小路径覆盖问题【网络流24题】