android-基础编程-ToolBar
Posted zCoderJoy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android-基础编程-ToolBar相关的知识,希望对你有一定的参考价值。
android 3.0 Android 推了 ActionBar 这个控件,而到了2013 年 (4.0)Google 开始大力地推动所谓的 android style,material design .
toolbar actionbar 区别在toolbar可以改变任意位置。
toolbar布局:
setNavigationIcon
即设定 up button 的图标,因为 Material 的介面,在 Toolbar这里的 up button样式也就有別于过去的 ActionBar 哦。
setLogo
APP 的图标。
setTitle
主标题。
setSubtitle
副标题。
setOnMenuItemClickListener
设定菜单各按鈕的动作。
1.新建一个toolbar的引用。
<android.support.v7.widget.Toolbar android:layout_width="match_parent" android:layout_height="50dp" android:layout_alignParentBottom="true" android:layout_marginBottom="10dp" android:id="@+id/toolbar" android:theme="@style/zcx" android:background="@color/colorAccent"> </android.support.v7.widget.Toolbar>
2.代码中引用toolbar
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.toolbar);
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
其中设置了去掉window title,以显示toolbar。其类似actionbar.
3.设置menu及点击事件
toolbar.inflateMenu(R.menu.main);//设置右上角的填充菜单 //点击事件 toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()){ case R.id.action_settings: //........ case R.id.action_refresh: //........ } Toast.makeText(getApplicationContext(),"zcx",Toast.LENGTH_SHORT).show(); return true; } });
4.设置主题风格
<style name="zcx" parent="Theme.AppCompat.Light.NoActionBar"> <item name="actionOverflowButtonStyle">@style/ActionButton.Overflow.ZhiHu</item> </style> <style name="ActionButton.Overflow.ZhiHu" parent="android:style/Widget.Holo.Light.ActionButton.Overflow"> <item name="android:src">@drawable/icon</item> </style>
定义toolbar 主题继承之Theme.AppCompat.Light.NoActionBar,并改变了OverFlow的背景图片。
5.效果(toolbar位置让我移动底部)
以上是关于android-基础编程-ToolBar的主要内容,如果未能解决你的问题,请参考以下文章
如何给非AppCompatActivity添加Toolbar
以编程方式更改 Toolbar 和 CollapsingToolbarLayout 滚动标志
Android编程入门--android.support.v7.widget.Toolbar