关于Toolbar的一些认识
来源:互联网 发布:域名怎么绑定 编辑:程序博客网 时间:2024/05/07 04:40
关于android.support.v7.widget.Toolbar的一些认识
1,toolbar也叫appbar作用 用来代替actionbar
首先 style主题中必须影藏actionbar
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
toolbar = (Toolbar)findViewById(R.id.toolbar); toolbar.setTitle("我从草原来");// toolbar.setSubtitle("未来为我盛开"); toolbar.setBackgroundColor(Color.parseColor("#ff0000")); toolbar.setLogo(R.drawable.ab); setSupportActionBar(toolbar);//此方法只有AppCompatActivity才有 toolbar.setNavigationIcon(R.drawable.ab_android);// 这边要留意的是setNavigationIcon需要放在 setSupportActionBar之后才会生效。
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:background="?attr/colorPrimary"
android:layout_height="?android:attr/actionBarSize" />
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:background="?attr/colorPrimary"
android:layout_height="?android:attr/actionBarSize" />
<!--?attr/ 这种样式代表允许你使用当前theme中任意的attribute-->
大抵来说,预设常用的几个元素就如图中所示,接着就依序来说明之:
setNavigationIcon
即设定 up button 的图标,因为 Material 的介面,在 Toolbar这里的 up button样式也就有別于过去的 ActionBar 哦。
setLogo
APP 的图标。setTitle
主标题。setSubtitle
副标题。- setOnMenuItemClickListener
设定菜单各按鈕的动作。
菜单部分,需要先在res/menu/menu_main.xml左定义:
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity"> <item android:id="@+id/action_edit" android:title="@string/action_edit" android:orderInCategory="80" android:icon="@drawable/ab_edit" app:showAsAction="ifRoom" /><item android:id="@+id/action_share" android:title="@string/action_edit" android:orderInCategory="90" android:icon="@drawable/ab_share" app:showAsAction="ifRoom" /> <item android:id="@+id/action_settings" android:title="@string/action_settings" android:orderInCategory="100" app:showAsAction="never"/></menu>
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
String msg = "";
switch (menuItem.getItemId()) {
case R.id.action_edit:
msg += "Click edit";
break;
case R.id.action_share:
msg += "Click share";
break;
case R.id.action_settings:
msg += "Click setting";
break;
}
if(!msg.equals("")) {
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
return true;
}
};
再回到MainActivity.java 中加入OnMenuItemClickListener 的监听者:
private Toolbar.OnMenuItemClickListener onMenuItemClick = new Toolbar.OnMenuItemClickListener() {@Override
public boolean onMenuItemClick(MenuItem menuItem) {
String msg = "";
switch (menuItem.getItemId()) {
case R.id.action_edit:
msg += "Click edit";
break;
case R.id.action_share:
msg += "Click share";
break;
case R.id.action_settings:
msg += "Click setting";
break;
}
if(!msg.equals("")) {
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
return true;
}
};
将onMenuItemClick监听者设置给toolbar
- // Menu item click 的監聽事件一樣要設定在 setSupportActionBar 之后才有作用
- toolbar.setOnMenuItemClickListener(onMenuItemClick);
和 setNavigationIcon 一样,需要將之设定在 setSupportActionBar 之后才有作用。执行上面的代码便会得到下面的界面。
1 0
- 关于Toolbar的一些认识
- 关于Toolbar和ActionBar的一些坑
- 关于winpcap的一些认识
- 关于AOP的一些认识
- 关于winpcap的一些认识
- 关于BIRT的一些认识
- 关于ARM的一些认识
- 关于random的一些认识
- 关于纹理的一些认识
- 关于tokyo的一些认识
- 关于索引的一些认识
- 关于Layer的一些认识
- 关于面试的一些认识
- 关于CCDirector的一些认识
- 关于接口的一些认识
- 关于CGI的一些认识
- 关于ThreadLocal的一些认识
- 关于堆栈的一些认识
- HorizontalScrollView滑动冲突的问题
- Android使用技巧------Activity中怎么样在子线程和UI线程中来回自如
- 结构体使用
- GIT常用命令
- ASP.NET的状态管理详解以及总结
- 关于Toolbar的一些认识
- spark-2.0.2+hadoop-2.7.3+scala-2.11.8+java8u101集群安装
- 【XML】DOM—JAXP 解析
- java调用百度地图api接口---转换非百度坐标和根据百度坐标转换地理位置
- (二)pod install vs. pod update (原文翻译)
- Caffe1.0.0安装 编译 - Ubuntu 14.04
- 嵌入式系统编程风格的建立与学习
- linux下如何安装配置redis及主从配置
- 图片压缩、编辑、剪切