Android自定义Toolbar使用方法详解
程序员文章站
2024-02-25 16:03:33
本篇文章介绍:
如何使用toolbar;
自定义toolbar;
先来看一看效果,了解一下toolbar;
布局文件:
本篇文章介绍:
如何使用toolbar;
自定义toolbar;
先来看一看效果,了解一下toolbar;
布局文件:
<android.support.v7.widget.toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorprimary"/>
actvity中设置属性:
toolbar toolbar= (toolbar) findviewbyid(r.id.toolbar); toolbar.setlogo(r.mipmap.ic_launcher);//设置图标 toolbar.settitle("title");//设置主标题 toolbar.setsubtitle("smalltitle");//设置子标题
这样就可以实现上面的效果。
接下来是自定义的toolbar:
布局文件:
<com.example.cjj.test.bean.mytoolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorprimary" android:minheight="?attr/actionbarsize" android:layout_centerinparent="true" android:layout_gravity="center" > </com.example.cjj.test.bean.mytoolbar>
toolbar.xml:
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <imagebutton android:id="@+id/mleftbutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentleft="true" android:layout_centervertical="true" android:background="?attr/colorprimary" /> <textview android:id="@+id/toolbar_title" android:text="title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerinparent="true" android:layout_gravity="center" android:gravity="center" android:textcolor="@color/white" android:textsize="20sp" /> <imagebutton android:id="@+id/mrightbutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentright="true" android:layout_centervertical="true" android:background="?attr/colorprimary"/> </relativelayout>
新建一个mytoolbar:
public class mytoolbar extends toolbar { //布局 private layoutinflater minflater; //右边按钮 private imagebutton mrightbutton; //左边按钮 private imagebutton mleftbutton; //标题 private textview mtexttitle; private view view; public mytoolbar(context context) { this(context,null); } public mytoolbar(context context, attributeset attrs) { this(context, attrs, 0); } public mytoolbar(context context, attributeset attrs, int defstyleattr) { super(context, attrs, defstyleattr); //初始化函数 initview(); setcontentinsetsrelative(10, 10); if (attrs != null) { setleftbuttonicon(r.mipmap.back_icon);//设置左图标 //设置点击事件 setleftbuttononclicklinster(new onclicklistener() { @override public void onclick(view v) { toast.maketext(getcontext(),"left",toast.length_short).show(); } }); setrightbuttonicon(r.mipmap.nav_more);//设置右图标 //设置点击事件 setrightbuttononclicklinster(new onclicklistener() { @override public void onclick(view v) { toast.maketext(getcontext(), "right", toast.length_short).show(); } }); } } private void initview() { if(view==null){ //初始化 minflater= layoutinflater.from(getcontext()); //添加布局文件 view=minflater.inflate(r.layout.toolbar,null); //绑定控件 meditsearchview= (edittext) view.findviewbyid(r.id.toolbar_searchview); mtexttitle= (textview) view.findviewbyid(r.id.toolbar_title); mleftbutton= (imagebutton) view.findviewbyid(r.id.mleftbutton); mrightbutton= (imagebutton) view.findviewbyid(r.id.mrightbutton); layoutparams layoutparams = new layoutparams(viewgroup.layoutparams.match_parent, viewgroup.layoutparams.wrap_content, gravity.center_horizontal); addview(view, layoutparams); } } public void setrightbuttonicon(int icon){ if(mrightbutton !=null){ mrightbutton.setimageresource(icon); // mrightbutton.setvisibility(visible); } } public void setleftbuttonicon(int icon){ if(mleftbutton !=null){ mleftbutton.setimageresource(icon); //mleftbutton.setvisibility(visible); } } //设置右侧按钮监听事件 public void setrightbuttononclicklinster(onclicklistener linster) { mrightbutton.setonclicklistener(linster); } //设置左侧按钮监听事件 public void setleftbuttononclicklinster(onclicklistener linster) { mleftbutton.setonclicklistener(linster); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: MySQL 从一张表update字段到另外一张表中
下一篇: asp.net弹出窗口 返回值