android 导航自动切换,Android导航抽屉切换图标向右
吃鸡游戏
我为EndDrawerToggle该类编写了一个与您的设置非常相似的设置- DrawerLayout带末端对齐的抽屉View,AppCompatActivity带有自定义Toolbar的支持ActionBar。import android.app.Activity;import android.support.v4.view.GravityCompat;import android.support.v4.widget.DrawerLayout;import android.support.v7.graphics.drawable.DrawerArrowDrawable;import android.support.v7.widget.AppCompatImageButton;import android.support.v7.widget.Toolbar;import android.support.v7.widget.Toolbar.LayoutParams;import android.view.View;import android.view.View.OnClickListener;public class EndDrawerToggle implements DrawerLayout.DrawerListener { private DrawerLayout drawerLayout; private DrawerArrowDrawable arrowDrawable; private AppCompatImageButton toggleButton; private String openDrawerContentDesc; private String closeDrawerContentDesc; public EndDrawerToggle(Activity activity, DrawerLayout drawerLayout, Toolbar toolbar, int openDrawerContentDescRes, int closeDrawerContentDescRes) { this.drawerLayout = drawerLayout; this.openDrawerContentDesc = activity.getString(openDrawerContentDescRes); this.closeDrawerContentDesc = activity.getString(closeDrawerContentDescRes); arrowDrawable = new DrawerArrowDrawable(toolbar.getContext()); arrowDrawable.setDirection(DrawerArrowDrawable.ARROW_DIRECTION_END); toggleButton = new AppCompatImageButton(toolbar.getContext(), null, R.attr.toolbarNavigationButtonStyle); toolbar.addView(toggleButton, new LayoutParams(GravityCompat.END)); toggleButton.setImageDrawable(arrowDrawable); toggleButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { toggle(); } } ); } public void syncState() { if (drawerLayout.isDrawerOpen(GravityCompat.END)) { setPosition(1f); } else { setPosition(0f); } } public void toggle() { if (drawerLayout.isDrawerOpen(GravityCompat.END)) { drawerLayout.closeDrawer(GravityCompat.END); } else { drawerLayout.openDrawer(GravityCompat.END); } } public void setPosition(float position) { if (position == 1f) { arrowDrawable.setVerticalMirror(true); toggleButton.setContentDescription(closeDrawerContentDesc); } else if (position == 0f) { arrowDrawable.setVerticalMirror(false); toggleButton.setContentDescription(openDrawerContentDesc); } arrowDrawable.setProgress(position); } @Override public void onDrawerSlide(View drawerView, float slideOffset) { setPosition(Math.min(1f, Math.max(0, slideOffset))); } @Override public void onDrawerOpened(View drawerView) { setPosition(1f); } @Override public void onDrawerClosed(View drawerView) { setPosition(0f); } @Override public void onDrawerStateChanged(int newState) { }}该EndDrawerToggle班是一个完整的更换ActionBarDrawerToggle在这种情况下,所以你不需要任何的设置,你目前拥有的这一点。所有DrawerListener方法仍然都可以重写,但是对于基本功能来说并不需要这样做,因为EndDrawerToggle它可以自己切换抽屉状态。同样,您也无需自己处理切换点击,因此也不需要导航OnClickListener。只需实例化切换,将其添加为DrawerListener,然后进行同步即可。我建议同步onPostCreate()方法中的切换,以确保它正确同步,例如在方向更改后。private EndDrawerToggle drawerToggle;...public void initNavigationDrawer() { NavigationView navigationView = ... ... drawerLayout = (DrawerLayout)findViewById(R.id.drawer); drawerToggle = new EndDrawerToggle(this, drawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close); drawerLayout.addDrawerListener(drawerToggle);}@Overrideprotected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); drawerToggle.syncState();}
android 导航自动切换,Android导航抽屉切换图标向右相关推荐
- android设置自动亮度,Android亮度调节的几种实现方法
最近在做一个App的设置项,亮度调节.真正做时,发现Android亮度调节比预想要复杂一些.其实目前网上已有不少这方面的资料,但有些博文具有一定误导性.在此将这块内容按照自己理解整理一下. 整体上看, ...
- android 键盘 自动消失,android 键盘状态,获取键盘显示和隐藏
要设置弹出键盘是否覆盖Activity的view,或者软键盘的显示隐藏状态,需要用到Activity的一个属性: android:windowSoftInputMode 该属性在AndroidMani ...
- android开发自动拍照,Android:Camera2开发详解(上):实现预览、拍照、保存照片等功能...
android.jpg 前言 在前几篇文章中介绍了如何调用系统相机拍照和使用Camera1的实现自定义相机拍照.人脸检测等功能 文章传送门: 接下来的几篇文章中,我将给大家介绍如何使用Camera2实 ...
- android 实现自动拍照,android实现定时拍照功能
在手机上面实现,设置一段时间(以秒计时)之后,自动拍照,适用于摄影师建立一个场景,之后设置时间,再进入场景. 界面主要就是一个设置时间的EditText和启动倒计时的Button,设置完时间之后,点击 ...
- android edittext自动获取焦点,Android取消EditText自动获取默认焦点
Android取消EditText自动获取默认焦点 发布时间:2020-10-02 14:08:30 来源:脚本之家 阅读:142 作者:ganchuanpu 最近在通讯录新建联系人=中,一进入一个页 ...
- android 应用自动重启,Android:如何在“强制关闭”后自动重启应用程序?
Android:如何在"强制关闭"后自动重启应用程序? 在Android应用程序中,如果我们没有得到正确的例外,我们通常会收到"强制关闭"错误. 如果强行关闭, ...
- android文字自动滚动,Android TextView文字横向自动滚动(跑马灯)
TextView实现文字滚动需要以下几个要点: 1.文字长度长于可显示范围:android:singleLine="true" 2.设置可滚到,或显示样式:android:elli ...
- android notification自动消失,Android开发 -- 状态栏通知Notification、NotificationManager详解...
本想自己写一个的,但是看到这篇之后,我想还是转过来吧,实在是非常的详细: 在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? ...
- android 360自动更新,Android应用自动更新功能的实现!!!
大家好,发现半年没有更新博客了,最近一直都比较忙,决定在凌晨 英超 阿森纳VS富勒姆 中场休息的时候,给大家分享Android里应用版本更新功能这一块的实现. 一个好的应用软件都是需要好的维护,从初出 ...
- android 语音自动播报,Android 语音播报实现
文章主要讲的是以前做项目时实现的来短信或来电话时语音播报的功能实现,记录下来做个总结. 1.实现语音播报的关键 -- 语音播报工具类(TtsUtil.java) 为了方便 文章主要讲的是以前做项目时实 ...
最新文章
- Git常用命令和Github协同流程
- c# winform窗口自适应各种分辨率类
- Python 3 学习——函数扩展and迭代器生成器装饰器
- linux release 版本的区别,编译debug版本和编译release版本的区别
- 红橙Darren视频笔记 一个控件显示两种颜色的文字 画笔的使用
- 迅雷发布了自主研发的TCFS协议,有意转型区块链开发的必看
- 【异常(待解决)】org.apache.http.NoHttpResponseException: api.weixin.qq.com:443 failed to respond
- 常用cmd命令(持续更新)
- 在控制台环境下调用MFC DLL崩溃的问题小结
- AS技巧合集「调试技巧篇」
- 字节跳动李本超:一年成为 Committer,我与 Flink 社区的故事
- java 静态方法 非静态变量_深度分析:Java 静态方法/变量,非静态方法/变量的区别,今天一并帮你解决!...
- 百度世界2021:百度大脑升级、昆仑芯2量产、智能云加速AI落地爆发
- 太强了,头发丝完整保留!华盛顿大学研究员开源的实时视频抠图工具
- 必须要知道的多媒体知识-音视频编解码-h265、h264-直播-点播
- Python爬虫【如何爬取内容(html)和解析内容】
- 伪元素学习包含::before、::after的用法
- asp.net 文件下载的五种方式
- r语言在linux怎么实现,如何在linux环境下使用r语言
- PHP —— 一份前端开发工程师够用的PHP知识点(持续更新)