android 右边抽屉,Android实现右边抽屉Drawerlayout效果
侧边栏是Android应用中很常见的一个界面效果(抽屉效果)。而利用DrawerLayout实现右侧栏是相对简单的。而且这个控件自带滑动效果,十分方便。
DrawerLayout属于android-support-v4.jar的包的内容,sdk新的就不用更新了,如果旧版本就需要导入这个包了。
先来看看效果
这里实现了抽屉效果和为了方便使用者在各处可以随意打开这个抽屉,我在这里定义在点击菜单可出现抽屉。
代码说明
1.activity的布局文件
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:id="@+id/fragment_hello"
android:name="com.patent.patentwarmsystem.CorrelationFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
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" >
可以看到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效果相关文章请关注PHP中文网!
声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
android 右边抽屉,Android实现右边抽屉Drawerlayout效果相关推荐
- android中仿qq最新版抽屉,Android实现3种侧滑效果(仿qq侧滑、抽屉侧滑、普通侧滑)...
自己实现了一下侧滑的三种方式(注释都写代码里了) 本文Demo下载地址:Andriod侧滑 本文实现所需框架:nineoldandroids下载地址:nineoldandroids 1.普通侧滑: 主 ...
- android studio 抽屉,Android Studio 的抽屉导航
Android的抽屉导航: 文件夹布局: layout布局文件夹: activity_main.xml 主入口文件 app_bar_main.xml 主内容文件:viewPager为多个页面,可以滑动 ...
- android左侧抽屉,Android控件之左侧抽屉菜单
Android 抽屉效果的导航菜单实现 抽屉效果的导航菜单 看了很多应用,觉得这种侧滑的抽屉效果的菜单很好. 不用切换到另一个页面,也不用去按菜单的硬件按钮,直接在界面上一个按钮点击,菜单就滑出来,而 ...
- android 自定义抽屉,android – 动作栏抽屉切换自定义图标
我正在尝试使用操作栏抽屉切换,但我希望它显示的不仅仅是菜单图标.我希望它在我的自定义菜单图标的右上角显示通知计数,但我仍然希望操作栏抽屉切换以在需要时显示后退箭头. 因此,我首先尝试在操作栏抽屉切换时 ...
- android 纵向抽屉,Android导航抽屉垂直边框
试试这个, DrawerLayout mDrawerLayout; onCreate(Bundle ...){ //... mDrawerLayout.setDrawerShadow(R.drawab ...
- android侧滑布局,Android布局控件DrawerLayout实现完美侧滑效果
drawerLayout其实是一个布局控件,跟LinearLayout等控件是一样的,但是drawerLayout带有滑动的功能.只要按照drawerLayout的规定布局方式写完布局,就能有侧滑的效 ...
- android 工作总结,Android项目的个人总结
Material Design 实战 是由谷歌的设计工程师 1.Toolbar xml文件中调用android.support.v7.widget.Toolbar 2.滑动菜单 DrawerLay ...
- Android之高仿QQ6.6.0侧滑效果(背景动画、透明+沉浸式状态栏、渐变效果)
根据需求实现类似QQ侧滑效果,之前看到过很多实现方式通过SlidingMenu,但是既然官方推出了自己的专属控件,那么使用DrawerLayout就是不二选择.且看下文. 一.先来看看官方文档解释 D ...
- android折叠布局,Android中FoldingLayout折叠布局的用法及实战全攻略
一.概述无意中翻到的FoldingLayout的介绍的博客,以及github地址.感觉很nice呀,于是花了点时间研究以及编写,本篇博客将带大家从最基本的原理分析,一步一步的实现我们的FoldingL ...
最新文章
- Spring boot -mongodb
- java对象赋值给另一个对象_java面向对象编程
- 云原生人物志 | Pulsar翟佳:社区的信任最重要
- zabbix4.0添加mysql报警_Zabbix 3.4.3实现企业微信报警
- 为什么要使用向量化?
- 文献阅读 Linear Regression for Face Recognition
- 【侯捷】C++内存管理机制
- 安卓手机小说阅读器_粉笔免费小说阅读器app下载-粉笔免费小说阅读器APP手机版v1.0.1...
- e1载波的数据速率是_基于宽带电力线载波通信的路由技术研究
- 06 Halcon 点云平面度测量
- ssh 远程锁住解锁_Linux 中锁定和解锁用户帐户的三种方法
- Win10环境下caffe安装与编译
- [摘录]第4章 不道德的谈判策略
- 联想笔记本预装正版office重装激活
- Cors跨域(一):深入理解跨域请求概念及其根因
- Shopee申请开店需要审核吗?
- 【java8】LocalDateTime、LocalDate与LocalTime的基本使用
- 超简单的方法完整保留原有所有样式拆分Excel表
- American Crew(R) ACUMEN™闪亮登场
- android extra_shortcut_icon,Android Shortcut操作(一)