Android ToolBar整合实例使用方法详解
程序员文章站
2023-12-20 11:42:04
最近做项目中遇到toolbar因为不同的界面toobar不同为了描述统一的风格。相信大家也非常清楚,大多数toolbar包括以下几个方面
左标题 左边题颜色 左标...
最近做项目中遇到toolbar因为不同的界面toobar不同为了描述统一的风格。相信大家也非常清楚,大多数toolbar包括以下几个方面
- 左标题 左边题颜色 左标题图标等
- 标题 标题颜色
- 右标题 右标题颜色 右标题图标
- toolbar标题 toolbar颜色 toolbar图标
- toolbar子标题 toolbar子标题 toolbar子标题颜色
再看一下淘宝以及其他apptoolbar样式界面
下面看下我自定义的custometoolbar继承原生toolbar
package com.ldm.imitatewx; import android.content.context; import android.graphics.drawable.drawable; import android.support.v4.content.contextcompat; import android.util.attributeset; import android.view.view; import android.widget.textview; import android.widget.toolbar; /** * created by john on 2017/2/16. */ public class custometoolbar extends toolbar { private textview mtvmaintitleleft; private textview mtvmaintitle; private textview mtvmainright; public custometoolbar(context context) { super(context); } public custometoolbar(context context, attributeset attrs) { super(context, attrs); } public custometoolbar(context context, attributeset attrs, int defstyleattr) { super(context, attrs, defstyleattr); } @override protected void onfinishinflate() { super.onfinishinflate(); mtvmaintitleleft= (textview) findviewbyid(r.id.lt_main_title_left); mtvmaintitle= (textview) findviewbyid(r.id.lt_main_title); mtvmainright= (textview) findviewbyid(r.id.lt_main_title_right); } //设置主title内容 public void setmaintitle( string text ) { this.settitle(" "); mtvmaintitle.setvisibility(view.visible); mtvmaintitle.settext(text); } //设置主title的内容文字的颜色 public void settitlecolor(int color ) { mtvmaintitle.settextcolor(color); } //设置左边title内容 public void setmaintitleleft(string text ) { mtvmaintitleleft.setvisibility(view.visible); mtvmaintitleleft.settext(text); } //设置左边的title颜色 public void setmaintitleleftcolor(int color ) { mtvmaintitleleft.settextcolor(color); } //设置左边icon public void setmaintitleleftdrawable(int res ) { drawable left= contextcompat.getdrawable(getcontext(),res); left.setbounds(0,0,left.getminimumwidth(),left.getminimumheight()); mtvmaintitleleft.setcompounddrawables(left,null,null,null); } //设置右边的title public void settvmainrighttext(string text ) { mtvmainright.setvisibility(view.visible); mtvmainright.settext(text); } //设置右边标题的颜色 public void setmaintitlerightcolor(int color ) { mtvmainright.settextcolor(color); } //设置右边icon public void setmaintitlerightdrawable(int res ) { drawable right= contextcompat.getdrawable(getcontext(),res); right.setbounds(0,0,right.getminimumwidth(),right.getminimumheight()); mtvmaintitleleft.setcompounddrawables(right,null,null,null); } //设置toolbar颜色 public void settoolbarbackground(int res ) { this.setbackgroundresource(res); } //设置toolbar左边的图标 public void settoolbarleftbackimageres(int res ) { this.setnavigationicon(res); } //设置toolbar左边文字 public void settoolbarlefttext(string text ){ this.setnavigationcontentdescription(text); } //设置toolbar标题 public void settoolbartitle(string text ) { this.settitle(text); } //设置toolbar颜色 public void settoolbartitlecolor(int color ) { this.settitletextcolor(color); } //设置toolbar子标题 public void settoolbarsubtitletext(string text ) { this.setsubtitle(text); } //设置toolbar子标题的颜色 public void settoolbarsubtitletextcolor(int color ) { this.setsubtitletextcolor(color); } }
然后布局引用activity_custome_toolbar
因为其实toolbar说白也是view也可以说是一个布局
所以我们只要根据自己需求往里面丢东西就ok,这里可能不全面,希望大家一起完善谢谢!
<?xml version="1.0" encoding="utf-8"?> <com.ldm.imitatewx.custometoolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="?attr/label_textsize" android:background="@android:color/holo_green_light" android:fitssystemwindows="true" app:contentinsetleft="0dp" app:contentinsetstart="0dp" app:popuptheme="@style/mypopstyle" > <textview android:id="@+id/lt_main_title_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginleft="10dp" android:text="返回" android:gravity="center" android:drawableleft="@drawable/ic_back_u" android:textcolor="@android:color/white" android:singleline="true" android:textsize="16sp" android:visibility="visible"/> <textview android:id="@+id/lt_main_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:singleline="true" android:textcolor="@android:color/white" android:text="标题" android:textsize="20sp" android:visibility="visible" /> <textview android:id="@+id/lt_main_title_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginright="10dp" android:text="返回" android:gravity="center" android:drawableright="@drawable/ic_add" android:textcolor="@android:color/white" android:singleline="true" android:textsize="16sp" android:visibility="visible"/> </com.ldm.imitatewx.custometoolbar>
到这里基本结束了!大家可以继续完善!谢谢!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。