全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android之侧滑菜单DrawerLayout的使用介绍

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

DrawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏,主内容区的部分可以随着菜单的点击而变化。DrawerLayout其实是一个控件,跟LinearLayout差不多,直接使用即可。

DrawerLayout属性

1、drawerPosition:指定 drawer 将从屏幕的一侧滑动。

2、drawerWidth :指定 drawer 的宽度,即从窗口的边缘拉到视图更精确的宽度。

3、keyboardDismissMode :确定键盘是否响应拖动被驳回。

  • 'none' (默认值), 拖动不影响键盘。
  • 'on-drag', 拖动开始,键盘被驳回。

4、onDrawerClose :导航视图关闭时调用函数。

5、onDrawerOpen :导航视图打开时调用函数。

6、onDrawerSlide :与导航视图交互时调用函数。

7、onDrawerStateChanged :当 Drawer 状态发生变化时调用函数,drawer 有 3 种状态: 

  •  idle -- 表示与导航视图没有交互
  •  dragging -- 表示目前有与导航视图的交互
  •  settling -- 表示有与导航视图的交互,并且导航视图正在的关闭或打开。

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小时内与您取得联系。