DrawerLayout,ToolBar 和 TabHost 的使用
ActionBar 定义起来不方便
toolbar: 最重要的特性,显示menu菜单,右上角三个点的菜单按钮,使用灵活
使用:1,布局文件,包裹LinearLayout 放imageView, 或者ImageButton
2,去除标题栏Action(清单文件中设置主题Theme.AppCompat.NoTitle)
3,setActionBar( toolbar ); Activity extends AppCompatActivity
4,创建menu文件夹下面的menu.xml文件
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/menu_search" android:title="搜索" android:icon="@drawable/actionbar_search_icon" app:showAsAction="always" /> // 总是显示在toolbar上 <item android:id="@+id/menu_search1" android:icon="@drawable/actionbar_search_icon" android:title="搜索1" app:showAsAction="ifRoom" /> //toolbar有地方就显示 <item android:id="@+id/menu_search2" android:icon="@drawable/actionbar_search_icon" android:title="搜索2" app:showAsAction="never" /> //是否作为菜单项,隐藏在右上角 的三个点里面 </menu>
package cn.zhw.demo; import android.nfc.tech.NfcB; import android.support.v4.app.FragmentTabHost; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.widget.TabHost; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); // setTitle("你好啊"); getSupportActionBar().setTitle("heihehie"); getSupportActionBar().setDisplayHomeAsUpEnabled(true); DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawerlayout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this,drawerLayout,toolbar,R.string.app_name,R.string.app_name); drawerLayout.addDrawerListener(toggle);// 面板展开的监听设置给 Toogle toggle.syncState();// 初始化 toogle 的绘制内容 // 设置底部栏 FragmentTabHost tabHost = (FragmentTabHost) findViewById(R.id.tabhost); tabHost.setup(this,getSupportFragmentManager(),R.id.container);// 初始化 tabhost // 添加一个 tab TabHost.TabSpec tab1 = tabHost.newTabSpec("news");// 创建tab对象 tab1.setIndicator("资讯");// 设置tab 内容 Bundle arg = new Bundle(); arg.putString("content","资讯界面"); tabHost.addTab(tab1,TestFragment.class,arg);// 将tab添加到底部栏 // 再添加一个 Tab TabHost.TabSpec tab2 = tabHost.newTabSpec("tweet"); tab2.setIndicator("动弹"); Bundle arg2 = new Bundle(); arg2.putString("content","动弹界面"); tabHost.addTab(tab2,TestFragment.class,arg2); } @Override // 为 Activity 生成菜单,ToolBar已经被设置为标题栏,这个菜单会自动显示到 ToolBar 上 public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main,menu); return super.onCreateOptionsMenu(menu); } @Override // 目录菜单的点击响应 public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case R.id.menu_search: Toast.makeText(this, "跳转到搜索界面", Toast.LENGTH_SHORT).show(); break; } return super.onOptionsItemSelected(item); } }
DrawerLayout,ToolBar 和 TabHost 的使用的更多相关文章
- 安卓Design包之NavigationView结合DrawerLayout,toolbar的使用,FloatingActionButton
注意:使用前需要添加Design依赖包,使用toolbar时需要隐藏标题头 FloatingActionButton 悬浮按钮:FloatingActionButton是重写ImageView的,所有 ...
- Android 使用Toolbar+DrawerLayout快速实现仿“知乎APP”侧滑导航效果
在以前,做策划导航的时候,最常用的组件便是SlidingMenu了,当初第一次用它的时候觉得那个惊艳啊,体验可以说是非常棒. 后来,Android自己推出了一个可以实现策划导航的组件DrawerLay ...
- 安卓Design包之Toolbar控件的使用
转自:ToolBar的使用 ToolBar的出现是为了替换之前的ActionBar的各种不灵活使用方式,相反,ToolBar的使用变得非常灵活,因为它可以让我们自由往里面添加子控件.低版本要使用的话, ...
- android中抽屉布局DrawerLayout的使用
这个抽屉布局类似于手机QQ的主界面,点击左上角头像,会从界面左侧弹出一个抽屉,展示一些内容. 首先是布局界面activity_main.xml: <?xml version="1.0& ...
- Androd Toolbar 的简单使用(转)
14年Android开发者大会提出了Android5.0 系统以及 材料设置 Material Design.在 材料设计中推出了大量的UI效果,其中某些功能 已添加进 兼容包,所以可以在低版本中来实 ...
- <Android 基础(七)> DrawerLayout and NavigationView
介绍 DrawerLayout是Support Library包中实现了侧滑菜单效果的控件 android.support.v4.widget.DrawerLayout NavigationView是 ...
- Android 高大上的侧滑菜单DrawerLayout,解决了不能全屏滑动的问题
DrawerLayout预览 DrawerLayout主要功能就是 实现侧滑菜单效果的功能,并且可以通过增加一些设置来实现高大上的效果,那么就请看动态图: 注意左上角那个图标,有木有很好玩,哈哈. ...
- 使用Design包实现QQ动画侧滑效果和滑动菜单导航
Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个supp ...
- 安卓Design之NavigationView的使用
前面讲解了Design包下的TabLayout的使用,下面将带来NavagationView和DrawLayout以及toolbar的联动. 项目已经同步至:https://github.com/na ...
随机推荐
- 护眼纯黑色VS2012配色方案
这些天由于公司项目比较忙,所以天天盯着电脑8小时,而且我的开发工具VS2012是白色背景的所以每天下班都搞的眼睛巨疼. 今天在网上找到一个很好的配色方案,所以有同样烦恼的童鞋们可以试试哦! 展示下效果 ...
- HTTP状态码的意义
100系列码 从100到199范围的HTTP状态码是信息报告码.基于各种原因考虑,大多数情况下我们是 很少看见这些代码的.首先,如果一个浏览器尝试访问一个网站,而网站返回这些代码时,它们往往都不会显示 ...
- 用Winrar批量解压缩有密码文件方法,只需输入一次密码
老王上传的文件多是RAR压缩格式的, 每个系列下载完,都20多集,解压缩的时候要一个一个的输入密码,太浪费时间. 1) 把下载的需要解压缩的文件统一放到一个文件夹下. 2) 启动winrar程序 (从 ...
- WCF心跳判断服务端及客户端是否掉线并实现重连接
WCF心跳判断服务端及客户端是否掉线并实现重连接 本篇文章将通过一个实例实现对WCF中针对服务端以及客户端是否掉线进行判断:若掉线时服务器或客户端又在线时将实现自动重连:将通过WCF的双工知识以及相应 ...
- 深入理解HTTP Session
深入理解HTTP Session session在web开发中是一个非常重要的概念,这个概念很抽象,很难定义,也是最让人迷惑的一个名词,也是最多被滥用的名字之一,在不同的场合,session一次的 ...
- Web 请求响应原理(转)
用Java实现Web服务器 减小字体 增大字体 摘要:WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信,H ...
- Java实践 — SSH远程执行Shell脚本(转)
原文地址:http://www.open-open.com/lib/view/open1384351384024.html 1. SSH简介 SSH是Secure Shell的缩写,一 ...
- Threejs基础学习【修改版】
一. Three.js官网及使用Three.js必备的三个条件 1.Three.js 官网 https://threejs.org/ 2.使用Three.js必备的三个条件(To actually b ...
- 瑶瑶GBK好的,UTF-8卡死
请求地址: 开发环境核心 esb : http://10.15.22.120:8866/0203000007/EmpAndDptRelateInfoSync/V1 用gbk可以马上返回. 用utf-8 ...
- 【转】关于JVM CPU资源占用过高的问题排查
http://my.oschina.net/shipley/blog/520062 一.背景: 先执行一个java程序里面开了两个线程分别都在while循环做打印操作. ? 1 # java -cp ...