Drawerlayout侧拉菜单

xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mydraw"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bwie.drawerlayoutdemo.MainActivity">

<ListView
android:id="@+id/lv"
android:layout_width="240sp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="#f00"
android:dividerHeight="1dp"
android:entries="@array/books"
android:background="#fff"
/>

</android.support.v4.widget.DrawerLayout>

代码

public class MainActivity extends AppCompatActivity {
private DrawerLayout drawerLayout;
private Button openDraw;
private ListView lv;
ActionBarDrawerToggle mDrawerToggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

init();
}

private void init() {
drawerLayout = (DrawerLayout) findViewById(R.id.mydraw);
openDraw = (Button) findViewById(R.id.openDraw);
lv = (ListView) findViewById(R.id.lv);
//点击 按钮 打开侧滑
openDraw.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
drawerLayout.openDrawer(lv);//打开侧滑

}
});
//点击lv的条目,关闭侧滑,在主界面显示相关详细
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
drawerLayout.closeDrawer(lv);//关闭侧滑
//改变主界面
String str = parent.getItemAtPosition(position).toString();
openDraw.setText(str);
}
});
//drawerlayout侧滑的监听
// drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {
// @Override
// public void onDrawerSlide(View drawerView, float slideOffset) {
// Log.d("main","onDrawerSlide........");
// openDraw.setText("在滑动......");
// }
//
// @Override
// public void onDrawerOpened(View drawerView) {
// Log.d("main","onDrawerOpened........");
// openDraw.setText("打开了......");
// }
//
// @Override
// public void onDrawerClosed(View drawerView) {
// Log.d("main","onDrawerClosed........");
// openDraw.setText("关闭了......");
// }
//
// @Override
// public void onDrawerStateChanged(int newState) {
// Log.d("main","onDrawerStateChanged........");
// openDraw.setText("状态改变了......");
// }
// });

}
}

时间: 2024-08-05 16:12:11

Drawerlayout侧拉菜单的相关文章

使用DrawerLayout实现QQ5.0侧拉菜单效果

在上一篇文章中,我们介绍了怎么使用DrawerLayout来实现一个简单的侧拉菜单(使用DrawerLayout实现侧拉菜单),也就是我们常说的抽屉效果,GitHub上类似效果的实现方式非常多,实现出来的效果也是非常的绚丽,但是万变不离其宗,Google提供给我们的DrawerLayout才是最基本的,我们今天就来介绍一下怎样通过DrawerLayout来实现QQ5.0的侧拉效果.先来看一张效果图: 好,这是一个我们即将要实现的效果图,关于这个效果,大部分都是很简单的,都是使用了我们在上一篇博客

DragLayout: QQ5.0侧拉菜单的新特效

一.项目概要 1.1 项目效果如图: 1.2 需要使用到的技术   ViewDragHelper: 要实现和QQ5.0侧滑的特效,需要借助谷歌在2013年I/O大会上发布的ViewDragHelper类,提供这个类目的就是为了解决拖拽滑动问题 1.3 侧滑菜单的实现方式 1. SlidingMenu 第三方库 2. DrawerLayout v4包中的类 3. 自定义控件 1.4 一些回调方法 - tryCaptureView: 用来决定是否可以拖动 - clampViewPositionHor

自定义控件基础02_下拉刷新_侧拉菜单_自定义属性

自定义控件02 自定义控件 ①,纯粹自定义绘制 ②,在原生的基础上追加功能. 1,下拉刷新功能(继承ListView追加功能)(下拉刷新,加载更多,两个功能) 1.1 下拉刷新 ①创建一个类,继承ListView 创建自定义适配器,设置数据 额外:自定义控件会放到view包下 ②自定义控件的头(即下拉的时候显示的view) 推荐名称initHeaderView();在构造方法中初始化这个头 this.addHeaderView()//添加一个头布局的控件,在listView顶部添加一个头 头部u

Android侧拉菜单SlidingMenu的配置和使用

个人博客地址 www.zalezone.cn 前言 很多android菜单都做的很炫,其中用的做多的就数侧拉菜单了,比如说唱吧,以前的人人,当然也有很多客户端改版后可能用其他的了,但是SlidingMenu的确是一个很强大的工具. 环境配置 很多工具有炫丽的效果来吸引用户的眼球,但是这些炫丽的效果肯定需要一些代价,那就是很多代码的支持,这个项目页不例外,在配置环境时很有可能会遇到一系列问题,下面就写一下具体配置的步骤和可能遇到的问题. 准备工作 首先去网上下载相应的依赖工程,这里主要下载在git

Android开源侧拉菜单SlidingMenu Demo 配置与学习

转载请注明出处:http://blog.csdn.net/zhoubin1992/article/details/46973483 前言 在Trinea的开源项目博文里 https://github.com/Trinea/android-open-project#%E4%B8%89menu 推荐了很多menu开源库. 首先给出Trinea里对SlidingMenu的介绍 滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕左右划出,支持菜单zoom.scale.slide up三种动画样式出现.与Me

DrawerLayout—侧拉栏的使用

关于布局:1.使用DrawerLayout控件前需添加依赖com.android.support:design:24.2.1 2.由<android.support.v4.widget.DrawerLayout/>控件包裹整体布局 3.侧拉栏布局由<android.support.design.widget.NavigationView/>包裹 注意事项: 1)此布局需放在主布局下方 2)指定滑动位置 例:android:layout_gravity="left"

DrawerLayout侧滑菜单

注意事项: DrawerLayout最好为界面的根布局,否则可能会出现触摸事件被屏蔽的问题 主内容区的布局代码要放在侧滑菜单布局的前面---策划菜单必须放最后 侧滑菜单部分的布局(这里是ListView)必须设置layout_gravity属性 界面的根布局 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android=&qu

Android Studio官方版DrawerLayout侧滑菜单解析

效果图如下 这是使用Android Studio新建的一个DrawerLayout项目跑出来后的效果(没有Android Studio的盆友赶紧去下载个吧). 生成后的代码有点混乱,稍微整理一下,那么先看布局文件 activity_main.xml: <?xml version="1.0" encoding="utf-8"?>   <android.support.v4.widget.DrawerLayout xmlns:android="

android自带DrawerLayout滑动菜单的使用

受到slidingMenu的启发android增加了DrawerLayout来实现滑动菜单 DrawerLayout是继承自ViewGroup,可以在其中放子view.DrawerLayout中分为主内容区和菜单区域 使用方法如下 1.和普通的LinearLayout一样 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" androi