侧边栏DrawerLayout

2023-12-10 19:49
文章标签 侧边 drawerlayout

本文主要是介绍侧边栏DrawerLayout,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.DrawerLayout 滑动抽屉组件

DrawerLayout布局由两部分组成,一部分是内容布局,一部分是侧滑栏布局
drawerLayout本身就是一个布局文件,只是它带有滑动功能.
DrawerLayout为界面的根布局
内容布局代码要放在侧滑菜单栏布局的前面
android:layout_gravity = “start”时,从左向右滑出菜单

android:layout_gravity = “end”时,从右向左滑出菜单

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/drawer"tools:context="com.xx.andbasetest.DrawerActivity"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="25dip"android:text="这是主布局"/></LinearLayout><!--左侧滑--><TextViewandroid:id="@+id/left_drawer"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:layout_gravity="start"android:background="@android:color/white"android:textSize="25dip"android:text="左侧滑"/><!--右侧滑--><TextViewandroid:id="@+id/right_drawer"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:layout_gravity="end"android:background="@android:color/white"android:textSize="25dip"android:text="右侧滑"/>
</android.support.v4.widget.DrawerLayout>

public class DrawerActivity extends AppCompatActivity {private DrawerLayout drawerLayout;private TextView tv_left;private TextView tv_right;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_drawer);drawerLayout = (DrawerLayout)findViewById(R.id.drawer);tv_left = (TextView)findViewById(R.id.left_drawer);tv_right = (TextView)findViewById(R.id.right_drawer);tv_left.setText("你滑到了左边");//DrawerLayout监听器drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {//侧边栏正在改变时@Overridepublic void onDrawerSlide(View drawerView, float slideOffset) {Log.i("tag","onDrawerSlide");}//打开侧边栏@Overridepublic void onDrawerOpened(View drawerView) {Log.i("tag","onDrawerOpened ");}//关闭侧边栏@Overridepublic void onDrawerClosed(View drawerView) {Log.i("tag","onDrawerClosed");}//改变侧边栏@Overridepublic void onDrawerStateChanged(int newState) {Log.i("tag","onDrawerStateChanged");}});}
}

2.导航侧边栏Navigation Drawer

一种侧滑导航栏控件,包含侧滑DrawerLayour,和导航菜单栏NavigationView
在新建Activity时选择Navigation Drawer Activity会自动生成
自动生成的布局文件

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/drawer_layout"android:layout_width="match_parent"android:layout_height="match_parent"android:fitsSystemWindows="true"tools:openDrawer="start"><includelayout="@layout/app_bar_navigation_drawer"android:layout_width="match_parent"android:layout_height="match_parent" /><android.support.design.widget.NavigationViewandroid:id="@+id/nav_view"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_gravity="start"android:fitsSystemWindows="true"app:headerLayout="@layout/nav_header_navigation_drawer2"app:menu="@menu/activity_navig_drawer_drawer" /></android.support.v4.widget.DrawerLayout>

监听事件
@Override
public boolean onNavigationItemSelected(MenuItem item) {// Handle navigation view item clicks here.
    int id = item.getItemId();

    if (id == R.id.nav_camera) {Toast.makeText(this,
                "你选择了相机",
                Toast.LENGTH_LONG).show();
    } else if (id == R.id.nav_gallery) {Toast.makeText(this,
                "你选择了相册",
                Toast.LENGTH_LONG).show();
    } else if (id == R.id.nav_slideshow) {Toast.makeText(this,
                "你选择了个性装扮",
                Toast.LENGTH_LONG).show();
    } else if (id == R.id.nav_manage) {} else if (id == R.id.nav_share) {} else if (id == R.id.nav_send) {}


这篇关于侧边栏DrawerLayout的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/478172

相关文章

Android ToolBar+DrawerLayout的实现

实现思路: 1.关联相应的依赖包 compile ‘com.android.support:appcompat-v7:25.3.1’ 2.主布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

JQuery.HoverDir库实现侧边栏二级菜单

Jquery.hoverDir响应鼠标移动方向的悬停效果插件 HTML代码 <div id="sidebar"><div class="mainNavs"><div class="menubox"><div class="menu_main"><h2>技术<span></span></h2><a href="#">Java</a><a href="#">PHP</a><a href="#"

Android Toolbar+DrawerLayout使用细节

1.Toolbar Toolbar 是Android 5.0后对针对Actionbar的不足进行改进所提出来的,当然大家也可以继续使用自定义的Title但是有些效果还是直接使用现成的轮子比较好,而且对于AndroidUI统一也是有好处的。 1.1Toolbar的使用 Toolbar只需要引用v7包的基础上在布局界面使用<Toolbar/>类似于控件一样使用就可以了。 涉及到样式问题,这里有两

Android 学习之drawerlayout写侧滑菜单

Android 学习之Drawerlayout写侧滑菜单 我们经常利用SlidingMenu来实现侧滑菜单,谷歌推出的DrawerLayout也可以实现侧滑菜单,完全可以替代SlidingMenu,如下图所示都是用SlidingMenu开发的实例。 1、项目结构                                                     JAVA

微搭发布的应用配置到企业微信的侧边栏

微搭可以发布模型应用,自动生成增删改查的页面。企业中的运营岗,日常需要和外部客户进行大量的沟通,我们可以借助微搭的自定义能力,将企业的常见信息如联系人、合同、跟进记录等进行线上的记录和管理。本文就介绍一下如何将微搭的应用添加到企业微信的侧边栏里。 我们在企业微信的聊天窗口,点击侧边栏图标 刚开始我发现没有这个图标,需要自主添加一个应用,点击工作台,添加一个第三方应用 添加之后在聊天窗口就会出

Toolbar+DrawerLayout使用详情结合网络各大神

最近也想搞下toolbar+drawerlayout的使用。结合网络上各大神的杰作,我把大部分的内容效果都完成了遍。现在记录下各个功能效果的实现以及一些细节注意点。 这图弹出两个菜单内容都是仿QQ界面的选项。左边一个是drawerlayout的弹窗。右边是toolbar的popup弹窗。 开始实现步骤详情: 1.创建toolbar布局跟drawerlayout布局 <?xml vers

YIA主题侧边栏如何添加3D旋转标签云?

WordPress站点侧边栏默认的标签云排版很一般,而3D旋转标签云就比较酷炫了。下面boke112百科就以YIA主题为例,跟大家说一说如何将默认的标签云修改成3D旋转标签云,具体步骤如下: 1、点此下载3d标签云文件(密码:2917),解压后将3d.js文件上传到/wp-content/themes/yia/assets/js/文件夹内。 2、编辑YIA主题的footer.php文件,在</

Android控件之Toolbar + DrawerLayout的使用

载请标明出处: http://blog.csdn.net/u011974987/article/details/50963495; 最近闲着没事儿,在关注一些遵循最新的Material Design设计规范的应用和效果,感觉很高大上;一直都没有去尝试过Material Design的一些新控件,很多还是不熟悉的,所以最近就写Demo 来熟悉下这些控件的使用,接下来使用官方支持库来快速实现

vscode 快捷键侧边栏

_____ 配置 vscode 快捷键 visual studio code - open explorer and close sidebar with the same key - Stack Overflow { "key": "ctrl+shift+e", // when Explorer not open // "command": "workbench.view.explore

自定义组件开发九 侧边栏

概述 侧边栏是一种常见的 UI 结构,用户使用手指左滑或者右滑,可以像抽屉一样拉出隐藏在屏 幕边界之外的内容,既能增加 App 的 UI 的内容,又能给用户带来更新鲜的用户体验,网易新闻、QQ(如图所示)等主流 App 都有类似的设计。 侧边栏和上一章节讲的触摸滑屏有很多的类似之处。在侧边栏自定义容器中,定义两个子容 器,一个用作侧边栏,另一个用作主界面,默认情况下隐藏侧边栏,用户向右