广告
返回顶部
首页 > 资讯 > 移动开发 >Android实现右边抽屉Drawerlayout效果
  • 277
分享到

Android实现右边抽屉Drawerlayout效果

drawerlayoutAndroid 2022-06-06 07:06:41 277人浏览 薄情痞子
摘要

侧边栏是Android应用中很常见的一个界面效果(抽屉效果)。而利用DrawerLayout实现右侧栏是相对简单的。而且这个控件自带滑动效果,十分方便。 DrawerLay

侧边栏是Android应用中很常见的一个界面效果(抽屉效果)。而利用DrawerLayout实现右侧栏是相对简单的。而且这个控件自带滑动效果,十分方便。

DrawerLayout属于android-support-v4.jar的包的内容,sdk新的就不用更新了,如果旧版本就需要导入这个包了。

先来看看效果

这里实现了抽屉效果和为了方便使用者在各处可以随意打开这个抽屉,我在这里定义在点击菜单可出现抽屉。

代码说明

1.activity的布局文件


<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" >
<!-- 注意drawrlayout的命名,因为一会要使用-->
 <FrameLayout
  android:id="@+id/content_frame"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <fragment
   android:id="@+id/fragment_hello"
    android:name="com.patent.patentwarmsystem.CorrelationFragment"
    android:layout_width="wrap_content"
   android:layout_height="wrap_content" />
 </FrameLayout>
 <include
  layout="@layout/activity_main_right"
  android:id="@+id/right_drawer"
  android:layout_width="240dp"
  android:layout_height="match_parent"
  android:layout_gravity="end"
  android:background="#FFFFFF"
  android:gravity="center_horizontal" >
 </include>
</android.support.v4.widget.DrawerLayout>

可以看到drawlayout可被当作控件使用,然后定义侧边栏的布局是,include了一个布局,里面可自己定义(随意)。但是要注意这个右侧的布局属性android:layout_gravity=”end”。这样才是放置在右边。
放置在左边的是: android:layout_gravity=”start”

2.activity的代码使用

首先注意导入这个:import android.support.v4.widget.DrawerLayout;


public class MainActivity extends AppCompatActivity {
 private DrawerLayout drawerLayout;
 private ActionBarDrawerToggle toggle;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  initDrawerLayout();
  drawerLayout.setScrimColor(Color.GRAY); //这个可以设置抽屉拉出后,主界面的颜色,我这里使用了系统自带的灰色
 }
 private void initDrawerLayout() {
 //注意:初始化的是drawerlayout整个大布局,不是初始化抽屉的那个id
  drawerLayout = (DrawerLayout) super.findViewById(R.id.drawer_layout);
  drawerLayout.setScrimColor(Color.TRANSPARENT);
  //v4控件 actionbar上的抽屉开关,可以实现一些开关的动态效果
  toggle = new ActionBarDrawerToggle(this, drawerLayout,
    R.drawable.star_change, R.string.drawer_open
    , R.string.drawer_close) {
   public void onDrawerClosed(View drawerView) {
    super.onDrawerClosed(drawerView);//抽屉关闭后
   }
   public void onDrawerOpened(View drawerView) {
    super.onDrawerOpened(drawerView);//抽屉打开后 
   }
  };
  drawerLayout.setDrawerListener(toggle);
 }
 
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.menu, menu);
  return true;
 }
//上面说到方便使用者随处调用就是这个方法,只需调用这个方法绑定id即可随处控制抽屉的拉出
 private void toggleRightSliding(){//该方法控制右侧边栏的显示和隐藏
  if(drawerLayout.isDrawerOpen(GravityCompat.END)){
   drawerLayout.closeDrawer(GravityCompat.END);//关闭抽屉
  }else{
   drawerLayout.openDrawer(GravityCompat.END);//打开抽屉
  }
 }
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
   case R.id.action_personal:
    toggleRightSliding();
    break;
  }
  return super.onOptionsItemSelected(item);
 }
}

另外再给几个方法,方便读者的需求改动:


// 通过代码:根据重力方向打开指定抽屉 
drawerLayout.openDrawer(Gravity.LEFT); 
// 设置抽屉阴影 
drawerLayout.setDrawerShadow(R.drawable.ic_launcher, Gravity.LEFT); 
// 设置抽屉空余处颜色 
drawerLayout.setScrimColor(Color.BLUE);

好了,实现一个抽屉的功能就是这些代码,可以看出自定义的空间还是很大的。

您可能感兴趣的文章:Android侧滑菜单控件DrawerLayout使用详解android侧滑菜单控件DrawerLayout使用方法详解Android原生侧滑控件DrawerLayout使用方法详解Android使用DrawerLayout实现双向侧滑菜单Android使用DrawerLayout实现仿QQ双向侧滑菜单Android App中DrawerLayout抽屉效果的菜单编写实例Android组件之DrawerLayout实现抽屉菜单Android Drawerlayout侧拉栏事件传递问题的解决方法Android DrawerLayout带有侧滑功能的布局类(1)Android使用DrawerLayout仿QQ6.6版侧滑效果


--结束END--

本文标题: Android实现右边抽屉Drawerlayout效果

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

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

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

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

下载Word文档
猜你喜欢
  • 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 DrawerLayout实现抽屉效果实例代码
     官网:https://developer.android.com/training/implementing-navigation/nav-drawer.html ...
    99+
    2022-06-06
    drawerlayout 抽屉 Android
  • 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应用中怎么实现一个抽屉效果
    这篇文章将为大家详细讲解有关Android应用中怎么实现一个抽屉效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先在layout 下设置xml布局文件<&#63;xml v...
    99+
    2023-05-31
    android roi
  • Drawer Builder组件实现flutter侧边抽屉效果示例分析
    目录前言Drawer 与 UserAccountsDrawerHeader定制唤出按钮并引出 Builder 组件整体代码最后前言 平时开发中难免会碰到抽屉效果,如果自己写肯定要费一...
    99+
    2022-11-13
    Drawer Builder flutter侧边抽屉 flutter侧边抽屉
  • iOS实现简易的抽屉效果
    本文实例为大家分享了iOS实现简易的抽屉效果的具体代码,供大家参考,具体内容如下 1.添加需要实现抽屉效果的三个视图,这里需要注意主视图需要放在最后添加 // 左边视图  ... /...
    99+
    2022-11-13
    iOS 抽屉
  • 怎么在Android应用中实现一个抽屉效果
    怎么在Android应用中实现一个抽屉效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。实现原理其实单就一个SwipeLayout的实现原理来讲的话,还是很简单...
    99+
    2023-05-31
    android roi
  • Android实现自定义滑动式抽屉效果菜单
    在Andoird使用Android自带的那些组件,像SlidingDrawer和DrawerLayout都是抽屉效果的菜单,但是在项目很多要实现的功能都收到Android这些自...
    99+
    2022-06-06
    自定义 菜单 抽屉 Android
  • 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 抽屉
  • Android Drawerlayout实现侧滑菜单效果
    本文实例为大家分享了Drawerlayout侧滑菜单的具体代码,供大家参考,具体内容如下Drawerlayout的xml布局<?xml version="1.0" encoding="utf-8"?><Re...
    99+
    2023-05-30
    drawerlayout 侧滑菜单 roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作