在android support.v4 中有一个抽屉视图控件DrawerLayout。使用这个控件,可以生成通过在屏幕上水平滑动打开或者关闭菜单,能给用户一个不错的体验效果。

DrawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏,主内容区的部分可以随着菜单的点击而变化。DrawerLayout其实是一个控件,跟LinearLayout差不多,直接使用即可。
DrawerLayout属性
1、drawerPosition:指定 drawer 将从屏幕的一侧滑动。
2、drawerWidth :指定 drawer 的宽度,即从窗口的边缘拉到视图更精确的宽度。
3、keyboardDismissMode :确定键盘是否响应拖动被驳回。
4、onDrawerClose :导航视图关闭时调用函数。
5、onDrawerOpen :导航视图打开时调用函数。
6、onDrawerSlide :与导航视图交互时调用函数。
7、onDrawerStateChanged :当 Drawer 状态发生变化时调用函数,drawer 有 3 种状态:
8、renderNavigationView :导航图将被渲染到屏幕的一侧,并且可以拉出。
案例
使用导入依赖库
compile 'com.android.support:appcompat-v7:24.2.1'
布局文件
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/v4_drawerlayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/v4_drawerlayout_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/v4_text"
android:textSize="22sp"
android:textColor="@color/colorAccent"
android:gravity="center"
/>
</FrameLayout>
<ListView
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="left"
android:id="@+id/v4_listview"
android:choiceMode="singleChoice"
android:background="@android:color/white" />
</android.support.v4.widget.DrawerLayout>
Activity
public class DrawerActivity extends AppCompatActivity {
private ListView listView;
private DrawerLayout drawerLayout;
private TextView textView;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.drawer_activity);
initView();
}
private void initView()
{
listView=(ListView) findViewById(R.id.v4_listview);
drawerLayout=(DrawerLayout) findViewById(R.id.v4_drawerlayout);
textView=(TextView) findViewById(R.id.v4_text);
initDate();
}
private void initDate(){
final List<String> list = new ArrayList<String>();
list.add("网易");
list.add("腾讯");
list.add("新浪");
list.add("搜狐");
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, list);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
textView.setText(list.get(position));
showDrawerLayout();
}
});
drawerLayout.openDrawer(Gravity.LEFT);//侧滑打开 不设置则不会默认打开
}
private void showDrawerLayout() {
if (!drawerLayout.isDrawerOpen(Gravity.LEFT)) {
drawerLayout.openDrawer(Gravity.LEFT);
} else {
drawerLayout.closeDrawer(Gravity.LEFT);
}
}
}
运行效果如图:
下载地址:Drawerlayout_jb51.rar
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# drawerlayout实现侧滑
# android
# drawerlayout
# drawerlayout侧滑菜单
# Android使用DrawerLayout实现仿QQ双向侧滑菜单
# Android原生侧滑控件DrawerLayout使用方法详解
# Android官方的侧滑控件DrawerLayout的示例代码
# Android中DrawerLayout实现侧滑菜单效果
# Android DrawerLayout带有侧滑功能的布局类(1)
# Android侧滑菜单控件DrawerLayout使用详解
# Android组件DrawerLayout仿网易新闻v4.4侧滑菜单
# android侧滑菜单控件DrawerLayout使用方法详解
# Android使用DrawerLayout实现侧滑菜单效果
# Android布局控件DrawerLayout实现完美侧滑效果
# 拖动
# 拉出
# 是一个
# 下载地址
# 腾讯
# 中有
# 将被
# 搜狐
# 网易
# 如图
# 能给
# 可以根据
# 拉到
# 两部分
# 使用这个
# 新浪
# 大家多多
# 默认值
# 即从
# 更精确
相关文章:
如何用PHP快速搭建高效网站?分步指南
实现点击下箭头变上箭头来回切换的两种方法【推荐】
C#如何在一个XML文件中查找并替换文本内容
免费ppt制作网站,有没有值得推荐的免费PPT网站?
如何快速建站并高效导出源代码?
如何在云虚拟主机上快速搭建个人网站?
制作宣传网站的软件,小红书可以宣传网站吗?
制作网页的网站有哪些,电脑上怎么做网页?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
详解jQuery停止动画——stop()方法的使用
如何在搬瓦工VPS快速搭建网站?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
如何实现建站之星域名转发设置?
深圳网站制作案例,网页的相关名词有哪些?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
b2c电商网站制作流程,b2c水平综合的电商平台?
行程制作网站有哪些,第三方机票电子行程单怎么开?
个人网站制作流程图片大全,个人网站如何注销?
如何通过多用户协作模板快速搭建高效企业网站?
如何在云服务器上快速搭建个人网站?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
c++怎么用jemalloc c++替换默认内存分配器【性能】
如何选择高效便捷的WAP商城建站系统?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
如何在橙子建站上传落地页?操作指南详解
建站之星代理如何优化在线客服效率?
网站制作价目表怎么做,珍爱网婚介费用多少?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
网站企业制作流程,用什么语言做企业网站比较好?
建站主机是什么?如何选择适合的建站主机?
北京网站制作的公司有哪些,北京白云观官方网站?
韩国服务器如何优化跨境访问实现高效连接?
网站代码制作软件有哪些,如何生成自己网站的代码?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
建站之星安装路径如何正确选择及配置?
香港服务器如何优化才能显著提升网站加载速度?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何用wdcp快速搭建高效网站?
如何在建站主机中优化服务器配置?
,石家庄四十八中学官网?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
如何选择高效响应式自助建站源码系统?
如何生成腾讯云建站专用兑换码?
如何快速查询网址的建站时间与历史轨迹?
如何设计高效校园网站?
定制建站流程解析:需求评估与SEO优化功能开发指南
*请认真填写需求信息,我们会在24小时内与您取得联系。