最新下载
热门教程
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 
Android ToolBar整合实例使用方法详解
时间:2022-11-14 22:17:48 编辑:袖梨 来源:一聚教程网
最近做项目中遇到ToolBar因为不同的界面toobar不同为了描述统一的风格。相信大家也非常清楚,大多数ToolBar包括以下几个方面
左标题 左边题颜色 左标题图标等
标题 标题颜色
右标题 右标题颜色 右标题图标
ToolBar标题 ToolBar颜色 ToolBar图标
ToolBar子标题 ToolBar子标题 ToolBar子标题颜色
再看一下淘宝以及其他appToolBar样式界面


下面看下我自定义的CustomeToolBar继承原生ToolBar
| 代码如下 | 复制代码 | 
| 
 packagecom.ldm.imitatewx; 
 importandroid.content.Context; importandroid.graphics.drawable.Drawable; importandroid.support.v4.content.ContextCompat; importandroid.util.AttributeSet; importandroid.view.View; importandroid.widget.TextView; importandroid.widget.Toolbar; 
 /** * Created by John on 2017/2/16. */ 
 publicclassCustomeToolBarextendsToolbar { privateTextView mTvMainTitleLeft; privateTextView mTvMainTitle; privateTextView mTvMainRight; publicCustomeToolBar(Context context) { super(context); } 
 publicCustomeToolBar(Context context, AttributeSet attrs) { super(context, attrs); } 
 publicCustomeToolBar(Context context, AttributeSet attrs,intdefStyleAttr) { super(context, attrs, defStyleAttr); } 
 @Override protectedvoidonFinishInflate() { 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内容 publicvoidsetMainTitle( String text ) { this.setTitle(" "); mTvMainTitle.setVisibility(View.VISIBLE); mTvMainTitle.setText(text); } //设置主title的内容文字的颜色 publicvoidsetTitleColor(intcolor ) { mTvMainTitle.setTextColor(color); } //设置左边title内容 publicvoidsetMainTitleLeft(String text ) { mTvMainTitleLeft.setVisibility(View.VISIBLE); mTvMainTitleLeft.setText(text); } //设置左边的title颜色 publicvoidsetMainTitleLeftColor(intcolor ) { mTvMainTitleLeft.setTextColor(color); } //设置左边icon publicvoidsetMainTitleLeftDrawable(intres ) { Drawable left= ContextCompat.getDrawable(getContext(),res); left.setBounds(0,0,left.getMinimumWidth(),left.getMinimumHeight()); mTvMainTitleLeft.setCompoundDrawables(left,null,null,null); } //设置右边的title publicvoidsetTvMainRightText(String text ) { mTvMainRight.setVisibility(View.VISIBLE); mTvMainRight.setText(text); } //设置右边标题的颜色 publicvoidsetMainTitleRightColor(intcolor ) { mTvMainRight.setTextColor(color); } //设置右边icon publicvoidsetMainTitleRightDrawable(intres ) { Drawable right= ContextCompat.getDrawable(getContext(),res); right.setBounds(0,0,right.getMinimumWidth(),right.getMinimumHeight()); mTvMainTitleLeft.setCompoundDrawables(right,null,null,null); } //设置toolbar颜色 publicvoidsetToolBarBackground(intres ) { this.setBackgroundResource(res); } //设置ToolBar左边的图标 publicvoidsetToolbarLeftBackImageRes(intres ) { this.setNavigationIcon(res); } //设置toolbar左边文字 publicvoidsetToolbarLeftText(String text ){ this.setNavigationContentDescription(text); } //设置toolbar标题 publicvoidsetToolbarTitle(String text ) { this.setTitle(text); } //设置toolbar颜色 publicvoidsetToolbarTitleColor(intcolor ) { this.setTitleTextColor(color); } //设置ToolBar子标题 publicvoidsetToolbarSubTitleText(String text ) { this.setSubtitle(text); } //设置toolbar子标题的颜色 publicvoidsetToolbarSubTitleTextColor(intcolor ) { this.setSubtitleTextColor(color); } 
 }  | |
然后布局引用activity_custome_toolbar 
因为其实toolbar说白也是view也可以说是一个布局 
所以我们只要根据自己需求往里面丢东西就ok,这里可能不全面,希望大家一起完善谢谢!
| 代码如下 | 复制代码 | 
| 
  xmlns:app="http://schemas.a*n*dr*oid.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"  >    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"/>    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"  />    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"/>    | |
相关文章
- 百度网盘SVIP激活码能用的有哪些 百度网盘vip免费领取 11-04
 - 打个螺丝兑换码能用的有哪些 2025最新有效兑换码汇总 11-04
 - 抓大鹅有效兑换码有哪些 2025最新可用兑换码大全 11-04
 - 密室出逃兑换码能用的有哪些 2025最新有效兑换码大全 11-04
 - 猪了个猪兑换码最新可用 2025最新有效兑换码汇总 11-04
 - 羊了个羊星球兑换码能用的有哪些 2025最新有效兑换码 11-04