iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android DrawerLayout实现抽屉效果实例代码
  • 767
分享到

Android DrawerLayout实现抽屉效果实例代码

drawerlayout抽屉Android 2022-06-06 05:06:59 767人浏览 泡泡鱼
摘要

 官网:https://developer.Android.com/training/implementing-navigation/nav-drawer.html

 官网:https://developer.Android.com/training/implementing-navigation/nav-drawer.html

贴上主要的逻辑和布局文件:

activity_main.xml


<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="Http://schemas.android.com/apk/res/android" 
  android:id="@+id/drawer_layout" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent"> 
  <!-- content --> 
  <FrameLayout 
    android:id="@+id/drawer_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 
  <!-- Drawer--> 
  <ListView 
    android:id="@+id/drawer_menu" 
    android:layout_width="240dp" 
    android:layout_height="match_parent" 
    android:background="#FFF0F0F0" 
    android:layout_gravity="start"/> 
  <!--   
    android:choiceMode    选中状态 跟onItemClick没有冲突  
        none       值为0,表示无选择模式;   
        singleChoice   值为1,表示最多可以有一项被选中;  
        multipleChoice  值为2,表示可以多项被选中。  
    android:layout_gravity left或right left或start  right或end  
      表示在抽屉里的效果是从左到右还是从右到左出现  
  --> 
</android.support.v4.widget.DrawerLayout> 

这里需要注意一下:content主界面一定要定义在drawer的前面,另外,Android:layout_gravity="start"(从左往右)或者android:layout_gravity="end"(从右往左),这个属性是必须要定义的,不然出现下面的异常:

MainActivity.java


package com.jackie.drawerlayoutdemo; 
import android.os.Bundle; 
import android.support.v4.widget.DrawerLayout; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.TextView; 
public class MainActivity extends AppCompatActivity { 
  private String mTitle; 
  private DrawerLayout mDrawerLayout; 
  private ListView mDrawerMenu; 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    initView(); 
    initData(); 
    //默认打开抽屉 
    mDrawerLayout.openDrawer(mDrawerMenu); 
  } 
  private void initView() { 
    mTitle = getResources().getString(R.string.app_name); 
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
    mDrawerMenu = (ListView) findViewById(R.id.drawer_menu); 
  } 
  private void initData() { 
    //数组定义在xml 文件中 
    String[] items = getResources().getStringArray(R.array.left_drawer_items); 
    ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_expandable_list_item_1); 
    adapter.addAll(items); 
    mDrawerMenu.setAdapter(adapter); 
    mDrawerMenu.setSelection(0); 
    //设置点击item事件 
    mDrawerMenu.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
        mTitle = ((TextView) view).getText().toString(); 
        switchFragment(); 
        mDrawerLayout.closeDrawer(mDrawerMenu); 
        mDrawerMenu.setSelection(position); 
      } 
    }); 
  } 
  private void switchFragment() { 
    getSupportFragmentManager().beginTransaction().replace(R.id.drawer_container, new ItemFragment(mTitle)).commit(); 
    getSupportActionBar().setTitle(mTitle); 
  } 
} 

效果图如下:

以上所述是小编给大家介绍的Android DrawerLayout实现抽屉效果实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程网网站的支持!

您可能感兴趣的文章:Android开发之DrawerLayout实现抽屉效果Android实现右边抽屉Drawerlayout效果使用DrawerLayout组件实现侧滑抽屉的功能Android App中DrawerLayout抽屉效果的菜单编写实例Android组件之DrawerLayout实现抽屉菜单利用DrawerLayout和触摸事件分发实现抽屉侧滑效果


--结束END--

本文标题: Android DrawerLayout实现抽屉效果实例代码

本文链接: https://www.lsjlt.com/news/22740.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android DrawerLayout实现抽屉效果实例代码
     官网:https://developer.android.com/training/implementing-navigation/nav-drawer.html ...
    99+
    2022-06-06
    drawerlayout 抽屉 Android
  • Android实现右边抽屉Drawerlayout效果
    侧边栏是Android应用中很常见的一个界面效果(抽屉效果)。而利用DrawerLayout实现右侧栏是相对简单的。而且这个控件自带滑动效果,十分方便。 DrawerLay...
    99+
    2022-06-06
    drawerlayout Android
  • Android开发之DrawerLayout实现抽屉效果
    谷歌官方推出了一种侧滑菜单的实现方式(抽屉效果),即 DrawerLayout,这个类是在Support Library里的,需要加上android-support-v4.jar这个包。使用注意点DrawerLayout的第一个子元素必须是...
    99+
    2023-05-31
    android drawerlayout roi
  • Android 抽屉效果的导航菜单实现代码实例
    看了很多应用,觉得这种侧滑的抽屉效果的菜单很好。 不用切换到另一个页面,也不用去按菜单的硬件按钮,直接在界面上一个按钮点击,菜单就滑出来,而且感觉能放很多东西。 关于实现,...
    99+
    2022-06-06
    导航菜单 菜单 抽屉 Android
  • WPF实现抽屉菜单效果的示例代码
    WPF 实现抽屉菜单 框架使用大于等于.NET40;Visual Studio 2022;项目使用 MIT 开源许可协议;更多效果可以通过GitHub[1]|码云...
    99+
    2022-11-13
    WPF 抽屉菜单 WPF 菜单
  • Android组件之DrawerLayout实现抽屉菜单
    DrawerLayout组件同样是V4包中的组件,也是直接继承于ViewGroup类,所以这个类也是一个容器类。 抽屉菜单的摆放和布局通过android:layout_grav...
    99+
    2022-06-06
    菜单 drawerlayout 抽屉 Android
  • Android SlidingDrawer 抽屉效果的实现
    SlidingDrawer隐藏屏外的内容,并允许用户通过handle以显示隐藏内容。它可以垂直或水平滑动,它有俩个View组成,其一是可以拖动的handle,其二是隐藏内容的V...
    99+
    2022-06-06
    抽屉 Android
  • iOS实现抽屉效果
    本文实例为大家分享了iOS实现抽屉效果的具体代码,供大家参考,具体内容如下 抽屉效果: #import "DragerViewController.h" #define sc...
    99+
    2022-05-18
    iOS 抽屉
  • 利用DrawerLayout和触摸事件分发实现抽屉侧滑效果
    本文实例为大家分享了DrawerLayout和触摸事件分发实现抽屉侧滑效果的具体代码,供大家参考,具体内容如下效果展示 还是看代码实在,直接上菜了。 MainActivity的代码:public class MainActivity ext...
    99+
    2023-05-30
    drawerlayout 抽屉侧滑
  • flutter实现底部抽屉效果
    本文实例为大家分享了flutter实现底部抽屉效果的具体代码,供大家参考,具体内容如下 安卓:showModalBottomSheetIOS:showCupertinoModalPo...
    99+
    2022-11-13
  • iOS开发实现抽屉效果
    iOS开发之如何实现“抽屉”效果,供大家参考,具体内容如下 现在基本上每一个App中左划都会出现一个页面,基本上都是只占主页面的一部分,效果就像是一个抽屉一样...
    99+
    2022-11-13
    iOS 抽屉
  • iOS实现简单抽屉效果
    抽屉效果 所谓抽屉效果就是三个视图,向右拖拽显示左边的视图,向左拖拽显示右边的视图,当拖拽大于屏幕的一半时最上面的视图会自动定位到一边,当点击左边或右边视图时会最上面视图会自动复位。...
    99+
    2022-05-21
    iOS 抽屉
  • Android 侧滑抽屉菜单的实现代码
    目录前言正文一、创建项目二、添加滑动菜单三、UI美化四、添加导航视图五、菜单分类六、动态菜单七、源码运行效果图: 前言   滑动菜单相信都不会陌生,你可能见...
    99+
    2022-11-11
  • iOS实现简易的抽屉效果
    本文实例为大家分享了iOS实现简易的抽屉效果的具体代码,供大家参考,具体内容如下 1.添加需要实现抽屉效果的三个视图,这里需要注意主视图需要放在最后添加 // 左边视图  ... /...
    99+
    2022-11-13
    iOS 抽屉
  • Android应用中怎么实现一个抽屉效果
    这篇文章将为大家详细讲解有关Android应用中怎么实现一个抽屉效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先在layout 下设置xml布局文件<&#63;xml v...
    99+
    2023-05-31
    android roi
  • 怎么在Android应用中实现一个抽屉效果
    怎么在Android应用中实现一个抽屉效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。实现原理其实单就一个SwipeLayout的实现原理来讲的话,还是很简单...
    99+
    2023-05-31
    android roi
  • Android实现自定义滑动式抽屉效果菜单
    在Andoird使用Android自带的那些组件,像SlidingDrawer和DrawerLayout都是抽屉效果的菜单,但是在项目很多要实现的功能都收到Android这些自...
    99+
    2022-06-06
    自定义 菜单 抽屉 Android
  • iOS开发实现简单抽屉效果
    本文实例为大家分享了iOS实现简单抽屉效果的具体代码,供大家参考,具体内容如下 抽屉效果的原理:其实就是把两个子控制器添加到一个RootViewController中,将子控制器的v...
    99+
    2022-11-13
    iOS 抽屉
  • flutter如何实现底部抽屉效果
    小编给大家分享一下flutter如何实现底部抽屉效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下安卓:showModalBottomSheetIOS...
    99+
    2023-06-29
  • iOS简单抽屉效果的实现方法
    本文实例为大家分享了iOS实现简单抽屉效果的具体代码,供大家参考,具体内容如下 实现思路及步骤: 1、首先准备要滑动的view #warning 第一步 - (void)addChi...
    99+
    2022-11-13
    iOS 抽屉
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作