Toolbar 的基本用法
toolbar分很多种如google toolbar ie toolbar等等
Toolbar的推出便是其方便用户信息搜索的举措之一。下载安装Toolbar后,它会与IE浏览器工具栏紧密集成,用户可以直接在工具条中输入关键词,调用Google引擎进行搜索,而不用先访问Google主页然后再进行搜索
toolbar 是 android 5.0 引入的一个新控件,可以理解为是ActionBar的升级版,大大扩展了Actionbar,使用更灵活,不像actionbar那么固定,Toolbar更像是一般的View元素,可以被放置在view树体系的任意位置,可以应用动画,可以跟着scrollView滚动,可以与布局中的其他view交互。
<android.support.v7.widget.Toolbar
app:navigationIcon="@mipmap/ic_launcher"
app:titleTextColor="#ffd000"
android:id="@+id/mytool"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#96a7ff"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="请输入要查询的内容" />
</LinearLayout>
</android.support.v7.widget.Toolbar>
XML布局文件中写toolbar标签,写在其标签内的是自定义的布局,可以随便写
此时大概是这么个样子
然后我就去Activity中进行设置各项属性
setSupportActionBar(mytool)
首先第一步替换掉原有的actionbar
注意要在清单文件中将theme改成无actionbar 的( android:theme="@style/Theme.AppCompat.NoActionBar")
然后又几个方法
- setTitle 设置标题
- setSubTitle 设置副标题
- setLogo 添加图标logo
- setNavigationButton 添加按钮
- setNavigationOnClickListener 添加导航监听
这些都是其属性,选择性的设置
最后绑定触发器
mytool.setNavigationOnClickListener {
Toast.makeText(this,"星汉灿烂",Toast.LENGTH_SHORT).show()
}
var toggle = ActionBarDrawerToggle(this,mydraw,mytool,R.string.openlayout,R.string.closelayout)
toggle.syncState()
mydraw.addDrawerListener(toggle)
右上角有一个系统的菜单,以前可以显示的现在一样可以
在activity中重写其方法即可,我就直接将代码放上来了
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.toolbar_menu,menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem?): Boolean {
if(item!!.itemId == R.id.menu1){
Toast.makeText(this,"菜单",Toast.LENGTH_SHORT).show()
}else if (item.itemId == R.id.subMeny){
Toast.makeText(this,"子菜单",Toast.LENGTH_SHORT).show()
if(mydraw.isDrawerOpen(Gravity.LEFT)){
mydraw.closeDrawer(Gravity.LEFT)
}else{
mydraw.openDrawer(Gravity.LEFT)
}
}
return super.onOptionsItemSelected(item)
}