99
一.ToolBar常用的方法
二.DrawerLayout常用的方法
三.ToolBar和DrawerLayout绑定
四.ToolBar和DrawerLayout代码
五.SlideMenu实现抽屉
1.SlideMenu的属性:
2.代码实现:
效果图
1.Toolbar和DrawerLayout实现
Toolbar:标题栏
DrawerLayout:可以实现侧滑
2.SlideMenu实现 第三方 需要导入moudle(slidemenu)
一.ToolBar常用的方法
Toolbar是在 Android 5.0 开始推出的一个 Material Design 风格的导航控件,以此来取代之前的Actionbar 。我们需要在工程中引入appcompat-v7的兼容包以便向下兼容, 使用android.support.v7.widget.Toolbar进行开发。在设计 Toolbar 的时候,Google也留给了开发者很多可定制修改的余地,这些可定制修改的属性在API文档中都有详细介绍,如:
1.supportRequestWindowFeature(Window.FEATURE_NO_TITLE);去掉标题栏;
2.Toolbar.setLogo(),设置logo图片;
3.Toolbar.setTitle().设置标题;
4.Toolbar.setSubTitle()设置子标题;
5.Toolbar.setTitleTextColor(int color);设置标题文字颜色;
6.Toolbar.setSubtitleTextColor();设置子标题文字颜色;
7.setTitleMargin(int start, int top, int end, int bottom);设置标题margin值; 8.onCreateOptionsMenu,getMenuInflater().inflate(R.menu.menu,menu)
设置菜单在给Toolbar设置为actionbar时使用;
9.Toolbar.setOnMenuItemClickListener();Toolbar绑定menu监听;
10.Toolbar.inflateMenu(R.menu.menu)在Toolbar没有替换actionbar时使用;
11.setSupportActionBar(mToolbar);设置toolbar替换actionbar;
12.getLayoutInflater().inflate(R.layout.view_tv,bar);Toolbar添加自定义view
二.DrawerLayout常用的方法
DrawerLayout.isDrawerOpen(Gravity.LEFT)是否开启;
DrawerLayout.openDrawer(Gravity.LEFT);开启抽屉
DrawerLayout.closeDrawer(Gravity.RIGHT);关闭抽屉
三.ToolBar和DrawerLayout绑定
private void bindToolBar() {
//设置开关
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.app_name, R.string.app_name);
//开启同步
toggle.syncState();
//设置给drawerLayout
drawerLayout.addDrawerListener(toggle);
}
1
2
3
4
5
6
7
8
四.ToolBar和DrawerLayout代码
(0)先去掉自带的ActionBar,在清单文件中
(1)布局文件代码:activity_main.xml
<android.support.v7.widget.Toolbar
android:background="#bdbebf"
android:id="@+id/toolbar"
android:layout_width=“match_parent”
android:layout_height=“50dp”>
</android.support.v7.widget.Toolbar>
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width=“match_parent”
android:layout_height=“match_parent”>
</android.support.v4.widget.DrawerLayout>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
(2)java 代码:MainActivity.java
public class MainActivity extends AppCompatActivity {
Toolbar toolbar;
DrawerLayout drawerLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
drawerLayout=findViewById(R.id.drawer_layout);
initToolBar();//初始化bar
bindToolBar();//绑定bar
}
private void initToolBar() {
toolbar = findViewById(R.id.toolbar);
//设置导航图标.
toolbar.setNavigationIcon(R.mipmap.ic_launcher);
//设置toolbar的大标题
toolbar.setTitle("天气");
toolbar.setLogo(R.mipmap.ic_launcher_round);
//设置toolbar的小标题.
toolbar.setSubtitle("Android");
}
//toolbar和drawerLayout绑定实现切换效果
private void bindToolBar() {
//设置开关
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.app_name, R.string.app_name);
//开启同步
toggle.syncState();
//设置给drawerLayout
drawerLayout.addDrawerListener(toggle);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
五.SlideMenu实现抽屉
1.SlideMenu的属性:
设置模式: setMode(SlidingMenu.LEFT);
设置触摸屏幕的模式:setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
//TOUCHMODE_FULLSCREEN全屏;TOUCHMODE_MARGIN边界;TOUCHMODE_NONE不能滑动
设置左侧菜单滑动显示的内容:slidingMenu.setMenu(R.layout.slide_menu);
设置左侧滑动菜单的阴影宽度:slidingMenu.setShadowWidth(300);
设置滑动时的渐变程度:slidingMenu.setFadeDegree(0.5f);范围0.0f-1.0f
设置淡入淡出的效果:slidingMenu.setFadeEnabled(true);
设置左侧滑动菜单的阴影图片(颜色):setShadowDrawable();
设置滑出时主页面显示的剩余宽度:slidingMenu.setBehindOffset(200);
注意:
(1)attachToActivity():将slidemenu和Activity绑定
(2)setMenu():设置菜单显示的内容
(3) Button bt = slidingMenu.getMenu().findViewById(R.id.bt1);为侧滑出来的菜单设置事件监听
上一篇: Java MD5加密工具类
下一篇: Linux cpu topology
推荐阅读
-
99
-
99%的程序员都在用Lombok,原理竟然这么简单?我也手撸了一个!
-
JAVA趣味编程-99乘法表
-
【程序报错】Caused by: java.sql.SQLException: Incorrect string value: '\xE9\x99\x90\xE6\x97\xB6...'
-
输出10到99之间各位数字之和为12的所有整数。要求定义和调用函数sumdigit(n)计算整数n的各位数字之和。
-
Android中关于百度糯米app关闭网页或窗口的方法(99%人不知)
-
Android中关于百度糯米app关闭网页或窗口的方法(99%人不知)
-
Java中的递归详解(用递归实现99乘法表来讲解)
-
树状数组的奇妙应用,99%的人都不知道!
-
Java中的递归详解(用递归实现99乘法表来讲解)