Toolbar的使用和自定义Toolbar作为标题栏
来源:互联网 发布:圣诞节淘宝有活动吗 编辑:程序博客网 时间:2024/03/29 05:26
搞了一个上午中午搞的差不多了,由于公司突然把以前用的自定义布局titleBar替换为Toolbar,我才有幸使用Toolbar,-_-。。。。不过刚用真的好蛋疼,其实和actionBar差不多,好了不扯了。
先上图(没图没真相):
我在注释里写的很清楚大家直接看代码:
第一:大家要去主题里面去掉系统默认的标题栏
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- toolbar(actionbar)颜色 --> <item name="colorPrimary">#4876FF</item> <!-- 状态栏颜色 --> <item name="colorPrimaryDark">#3A5FCD</item> <!-- 窗口的背景颜色 --> <item name="android:windowBackground">@android:color/white</item> <!--去掉系统默认的标题栏--> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> </style>
第二:引入自定义的toolBar布局:大家看里面有个TextView控件,就是中间的my app标题
<?xml version="1.0" encoding="utf-8"?><android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" android:minHeight="?attr/actionBarSize" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:fitsSystemWindows="true"> <!--android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 如果不添加这个主题会变成黑色字体和箭头--> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:ellipsize="end" android:maxLength="15" android:singleLine="true" android:textAppearance="@style/TextAppearance.AppCompat.Widget.ActionBar.Title" android:textColor="#FFFFFF" /></android.support.v7.widget.Toolbar>
第三:好了我们可以用了
public class MainActivity extends AppCompatActivity { Toolbar toolbar; ActionBar actionBar; TextView centerTtitle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); toolbar = (Toolbar) findViewById(R.id.toolbar); centerTtitle = (TextView) findViewById(R.id.title); setSupportActionBar(toolbar); actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true);//设置返回箭头显示 actionBar.setTitle("父标题");//父标题 actionBar.setSubtitle("子标题");//子标题 actionBar.setLogo(android.R.drawable.ic_dialog_map); // actionBar.setDisplayUseLogoEnabled(false);//设置logo是否显示(默认为true哦) centerTtitle.setText("my app");//自定义标题 //当然有时候我们想要用其他的logo替换返回箭头,来做一些其他的操作 actionBar.setHomeAsUpIndicator(android.R.drawable.ic_lock_power_off); } //处理menu事件 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { //点击返回箭头结束activity /* case android.R.id.home: finish(); return true;*/ case android.R.id.home: showToast("will be power off!!!"); return true; case R.id.action_search: showToast("搜索"); return true; case R.id.action_item1: showToast("item1"); return true; case R.id.action_item2: showToast("item2"); return true; } return super.onOptionsItemSelected(item); } //引入menu布局 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater menuInflater = getMenuInflater(); menuInflater.inflate(R.menu.main_menu, menu); return true; } private void showToast(String s) { Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show(); }}
对了还有menu布局文件:
<?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/action_search" android:icon="@mipmap/ic_search" android:title="search" app:showAsAction="ifRoom" /> <item android:id="@+id/action_item1" android:title="item_01" app:showAsAction="never" /> <item android:id="@+id/action_item2" android:title="item_02" app:showAsAction="never" /></menu>
好了,到这里就结束了,够我们日常开发中自定义用了。另外详细的可以参考:D_clock爱吃葱花
2 1
- Toolbar的使用和自定义Toolbar作为标题栏
- Toolbar的使用和自定义
- 简单的自定义标题栏(不使用Toolbar)
- 自定义toolbar标题栏
- 自定义toolbar标题栏
- 自定义 ToolBar 实现标题栏
- 自定义toolbar和原生toolbar的比较
- 使用toolBar作为标题栏并使状态栏透明
- Android中ToolBar标题栏的使用步骤
- 标题栏的实现ActionBar和toolBar
- toolBar和默认的手机标题栏处理
- 自定义Toolbar实现简洁标题栏
- 如何使用自定义的Toolbar
- Android开发:Toolbar基本使用和自定义Toolbar
- Toolbar的使用以及自定义Toolbar的方法
- Toolbar的简单介绍和如何简单自定义toolbar
- Toolbar使用完全解析,自定义标题栏---变为布娃娃的魂
- Toolbar的介绍和使用
- You have not concluded your merge (MERGE_HEAD exists) git拉取失败
- SpringMVC注解1
- Android SDK无法更新或下载很慢
- 数据标准化(data normalization)
- 文件下载
- Toolbar的使用和自定义Toolbar作为标题栏
- 并发编程网
- JS动态添加div、li、img等元素及设置属性(实例)
- windows上cppcheck检查不出任何错误解决
- POJ 1661 (DP)
- 进程与线程总结
- mysql连接出错
- Oracle架构实现原理、含五大进程解析(图文详解)
- 第十五周项目一 阅读下面程序,解释运行结果(1)