Android最全Android下DrawerLayout的使用,2024年最新2024android面试宝典

最后

总之啊,家里没矿的同学们,如果你们想以后的日子过得好一些,多想想你们的业余时间怎么安排吧;

技术方面的提升肯定是重中之重,但是技术外的一些“软实力”也不能完全忽视,很多时候升职确实是因为你的技术足够强,但也与你的“软实力”密切相关

在这我也分享一份大佬自己收录整理的 Android学习PDF+架构视频+面试文档+源码笔记 ,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这些都是我闲暇还会反复翻阅并给下属员工学习的精品资料。在脑图中,每个知识点专题都配有相对应的实战项目,可以有效的帮助大家掌握知识点。

总之也是在这里帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习

相信自己,没有做不到的,只有想不到的

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

<?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:layout_width=“match_parent”

android:layout_height=“match_parent”

tools:context=“.MainActivity”>

<TextView

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:gravity=“center”

android:text=“我是主界面的内容”

android:textSize=“40dp” />

<android.support.design.widget.NavigationView

android:id=“@+id/nav_view”

android:layout_width=“wrap_content”

android:layout_height=“match_parent”

android:layout_gravity=“start”

android:fitsSystemWindows=“true”>

<TextView

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:background=“#000000”

android:gravity=“center”

android:text=“我是侧拉栏的内容”

android:textColor=“#FFFFFF”

android:textSize=“20dp” />

</android.support.design.widget.NavigationView>

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

到此为止,我们已经完成了抽屉的效果,看一下效果图

P3

接下来,我们再研究一下如何使用(控制),就大功告成了。

使用

说到使用,无非就是控制抽屉的开关,锁定、宽度,这些内容

监听抽屉的开关和展开状态

package com.example.kongqw.myapplication;

import android.support.v4.widget.DrawerLayout;

import android.support.v7.app.ActionBarDrawerToggle;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements DrawerLayout.DrawerListener {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// 获取装抽屉的容器

DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);

// 添加对抽屉的监听

drawerLayout.setDrawerListener(this);

}

@Override

public void onDrawerSlide(View drawerView, float slideOffset) {

ToastUtil.show(this, "slideOffset = " + slideOffset);

}

@Override

public void onDrawerOpened(View drawerView) {

ToastUtil.show(this, “抽屉开”);

}

@Override

public void onDrawerClosed(View drawerView) {

ToastUtil.show(this, “抽屉关”);

}

@Override

public void onDrawerStateChanged(int newState) {

// ToastUtil.show(this, “抽屉状态改变”);

}

}

  • 效果图

P4

控制打开抽屉

/**

  • 抽屉开

  • @param view

*/

public void drawerOpen(View view) {

mDrawerLayout.openDrawer(mDrawer);

}

  • 效果图

P5

控制关闭抽屉

默认效果,点击任何位置都会关闭

/**

  • 抽屉关

  • @param view

*/

public void drawerClose(View view) {

mDrawerLayout.closeDrawer(mDrawer);

}

获取抽屉状态(打开还是关闭)

/**

  • 获取抽屉状态

  • @param view

*/

public void isDrawerOpen(View view) {

boolean isOpen = mDrawerLayout.isDrawerOpen(mDrawer);

ToastUtil.show(this, “抽屉状态:” + (isOpen ? “开” : “关”));

}

  • 效果图

P6

让抽屉以开的状态锁住

/**

  • 让抽屉以开的状态锁住

  • @param view

*/

public void lockModeLockedOpen(View view) {

// 将抽屉以开的状态锁住

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN);

}

  • 效果图

P7

让抽屉以关的状态锁住

/**

  • 让抽屉以关的状态锁住

  • @param view

*/

public void lockModeLockedClose(View view) {

// 将抽屉以关的状态锁住

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);

}

  • 效果图

P8

让抽屉从右边滑出

只要将抽屉容器里的layout_gravity改为end就可以了

<android.support.design.widget.NavigationView

……

android:layout_gravity=“end”>

<RelativeLayout

android:layout_width=“match_parent”

android:layout_height=“match_parent”>

……

</android.support.design.widget.NavigationView>

  • 效果图

P9

修改抽屉宽度

直接修改抽屉容器里的layout_width调整宽度属性即可

源码

下面是讲解例子源码

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/drawerLayout”

android:layout_width=“match_parent”

android:layout_height=“match_parent”

tools:context=“.MainActivity”>

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:gravity=“right”

android:orientation=“vertical”>

<Button

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:onClick=“drawerOpen”

android:text=“抽屉开” />

<Button

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:onClick=“drawerClose”

android:text=“抽屉关” />

<Button

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:onClick=“isDrawerOpen”

android:text=“获取抽屉状态” />

<Button

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:onClick=“lockModeLockedOpen”

android:text=“让抽屉以开的状态锁住” />

<Button

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:onClick=“lockModeLockedClose”

android:text=“让抽屉以关的状态锁住” />

<android.support.design.widget.NavigationView

android:id=“@+id/nav_view”

android:layout_width=“wrap_content”

android:layout_height=“match_parent”

android:layout_gravity=“start”

android:fitsSystemWindows=“true”>

<TextView

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:background=“#000000”

android:gravity=“center”

android:text=“我是侧拉栏的内容”

android:textColor=“#FFFFFF”

android:textSize=“20dp” />

最后

我这里整理了一份完整的学习思维以及Android开发知识大全PDF。

当然实践出真知,即使有了学习线路也要注重实践,学习过的内容只有结合实操才算是真正的掌握。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

arent"

android:layout_height=“match_parent”

android:background=“#000000”

android:gravity=“center”

android:text=“我是侧拉栏的内容”

android:textColor=“#FFFFFF”

android:textSize=“20dp” />

最后

我这里整理了一份完整的学习思维以及Android开发知识大全PDF。

[外链图片转存中…(img-weiKH1yn-1715185511490)]

当然实践出真知,即使有了学习线路也要注重实践,学习过的内容只有结合实操才算是真正的掌握。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 25
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值