当前位置: 移动技术网 > IT编程>移动开发>Android > Android ToolBar整合实例使用方法详解

Android ToolBar整合实例使用方法详解

2019年07月24日  | 移动技术网IT编程  | 我要评论

梦幻穿越官网,重庆唱红,安惠元

最近做项目中遇到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>

到这里基本结束了!大家可以继续完善!谢谢!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网