侧边栏的简单实现(使用drawerLayout)
来源:互联网 发布:网络趣味哲理小事 编辑:程序博客网 时间:2024/05/20 07:32
不能算真正意义上的侧边栏
首先root 布局使用android.support.v4.widget.DrawerLayout
布局文件:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main_layout" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- main layout must be the first one layout --> <!-- using background to devide --> <RelativeLayout android:id="@+id/content_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000" /> <!-- drawer layout --> <!-- layout_gravity="start": means to show it from left to main position --> <!-- 240dp is lower than all phones width --> <!-- using background to devide --> <RelativeLayout android:id="@+id/drawer_layout" android:layout_gravity="start" android:layout_width="240dp" android:layout_height="match_parent" android:background="#fff" /></android.support.v4.widget.DrawerLayout>
java代码:
package com.drawerlayoutdemo;import android.os.Bundle;import android.app.Activity;import android.support.v4.widget.DrawerLayout;import android.support.v4.widget.DrawerLayout.DrawerListener;import android.util.Log;import android.view.KeyEvent;import android.view.View;import android.widget.RelativeLayout;public class MainActivity extends Activity implements DrawerListener {private DrawerLayout mainLayout;private RelativeLayout contentLayout, drawerLayout;private String tag = "MainActivity";//用该变量标示抽屉是否被打开private boolean drawIsOpened = false;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mainLayout = (DrawerLayout) findViewById(R.id.main_layout);mainLayout.setDrawerListener(this);//获取主布局contentLayout = (RelativeLayout) findViewById(R.id.content_layout);//获取左侧布局drawerLayout = (RelativeLayout) findViewById(R.id.drawer_layout);}//如果要使用菜单键来(打开||关闭)抽屉,则重写onKeyDown方法//根据drawIsOpened来决定是(打开||关闭)@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_MENU) {if (drawIsOpened) {mainLayout.closeDrawer(drawerLayout);} else {mainLayout.openDrawer(drawerLayout);}}return super.onKeyDown(keyCode, event);}/* 覆写DrawerListener里的方法 */@Overridepublic void onDrawerClosed(View arg0) {Log.i(tag, "drawer close");drawIsOpened = false;}@Overridepublic void onDrawerOpened(View arg0) {// TODO Auto-generated method stubLog.i(tag, "drawer open");drawIsOpened = true;}@Overridepublic void onDrawerSlide(View arg0, float delta) {Log.i(tag, "draw slide");Log.i(tag, delta + "");}@Overridepublic void onDrawerStateChanged(int state) {Log.i(tag, "draw state change to " + state);}/* 覆写DrawerListener里的方法 */}
1 0
- 侧边栏的简单实现(使用drawerLayout)
- 左右两边的侧边栏实现(使用drawerlayout)
- DrawerLayout 实现侧边栏
- Android关于侧边栏的简单使用(drawerLayout,navigationview,动态添加menu)
- android DrawerLayout 侧边栏实现
- android DrawerLayout侧边栏实现
- 使用SlidingMenu和DrawerLayout分别实现左右侧边栏
- Android学习之基于DrawerLayout的侧边栏实现
- Android侧边栏DrawerLayout实现问题笔记
- DrawerLayout的简单使用(网易标题的实现)
- 二级滑动侧边栏(自定义DrawerLayout)
- 侧边栏DrawerLayout
- Android典型界面设计(5)——使用SlidingMenu和DrawerLayout分别实现左右侧边栏
- DrawerLayout 的简单实现
- Ionic 侧边栏菜单的简单实现
- DrawerLayout的简单使用
- Drawerlayout的简单使用
- DrawerLayout的简单使用
- debian 7 安装,配置,基本软件安装(总结)
- android 源码下载地址
- 内存池设计与实现
- ORACLE 11g安装
- Yii框架里的一些zii用法
- 侧边栏的简单实现(使用drawerLayout)
- 解析linux根文件系统的挂载过程
- DiskLruCache磁盘图片缓存分析
- 游戏开发手记:数据存储
- 音视频在iOS下的解决方案
- poj 1836 Alignment(dp,LIS)
- android 调用通讯录选取联系人
- 两个FreeSWITCH如何互联
- Android开发系列(二十七):使用ProgressDialog创建进度对话框