译--ToolBar(一)
来源:互联网 发布:linux定时器关闭 编辑:程序博客网 时间:2024/06/06 01:26
建立 App Bar
在大多数app布局中,action bar在一边展示了activity的title,并且在另一边展示了一个(overflow)
溢出菜单。即使在非常简单的app结构中,app bar(action 是app
bar的具体表现)仍然对用户提供了有用的信息,并且给app带来了一致的感觉和体验。
自android 3.0(API 11)开始,所有的activity都是用一个带有action bar的默认主题(Theme),然而,随着不同的android版本的发布,action
bar也随之改变,结果导致了action
bar在不同版本的android上有不同的表现,于此不同的是,google把大多数最近的特性加入到了Toolbar的support
library中,并且可以在任何设备中使用support library。
就因为以上原因,你应该使用support library中的Toolbar来实现你的app bar,使用toolbar可以保证你的app bar
在绝大多数类中有一致的体验,比如,Toolbar部件提供了material design,可以运行在android 2.1 (API 7)及以上版本上,但是action
bar不支持material design,除非android版本大于等于5.0.
在Activity上加一个ToolBar
一. 在工程中添加v7 appcompat 支持包(support library)。
二. 让activity继承AppCompatActivity:
public class MyActivity extends AppCompatActivity { // ...}
三. 在manifest文件中,在元素中设置任意一个appcompat中带有NoActionBar的主题(就是设置一个不带有action
bar的主题,因为我们要用toolbar啊)。
<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
四. 在activity的布局文件中添加toolbar,例如下面的代码,给toolbar添加一个浮动效果(也就是在Z轴上有一定的dp,material design):
<android.support.v7.widget.Toolbar android:id="@+id/my_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:elevation="4dp" android:theme="@style/ThemeOverlay.AppCompat.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
material design 建议为app bar 的elevation设置为4dp。
五. 在activity的onCreate()方法中调用setSupportActionBar()方法,来设置toolbar作为app bar:
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar); }
**现在,app就有了一个toolbar,默认情况下toolbar只包含app的名字(或者还有一个overflow menu),自己可以在toolbar或者overflow
menu中添加更多的action**
使用App Bar 的工具方法
一旦在activity中设置了toolbar,你就可以使用各种各样的由v7 appcompat support library 提供的各种各样的方法。
使用方法时,首先调用getSupportActionBar()
方法,得到一个ActionBar对象的索引,一旦得到了索引,就可以调用任何的ActionBar方法了,例如,隐藏app bar时,调用 ActionBar.hide().
原文地址:Tool Bar
如有错误,敬请指出,不胜感激!
译–ToolBar(二)
- 译--ToolBar(一)
- ToolBar学习笔记(一)
- Unity之GUILayout-Toolbar-一
- android:Toolbar用法探析(一)
- Toolbar的使用(一)
- Android ToolBar 解析与应用(一)创建toolbar
- ToolBar控件的使用<一> 通过菜单项设置ToolBar
- 译--ToolBar(二)
- 译--ToolBar(三)
- 译--ToolBar(四)
- ToolBar
- ToolBar
- TOOLBAR
- ToolBar
- ToolBar
- toolbar
- ToolBar
- Toolbar
- Android dos命令查看应用内存占用情况
- HTTP Basic Authentication认证方式和AFNetworking的header的设置
- 过滤器模式
- 对ClassCastException的理解
- 静态成员
- 译--ToolBar(一)
- 数据库事务
- C++ new
- 【c语言】求一个字符串的长度
- Iwfu-CSDN发表博客ScreenToGif屏幕录制成gif图
- struts2实现文件的下载功能
- 第3周 C语言及程序设计初步例程-39 求素数算法
- linux常用命令
- CSU 1558 和与积