最近做项目中遇到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.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" > 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"/> |
凡尔赛法环免广告版 最新版v1.69.1
下载天煞异种 安卓版v1.0.21
下载十三月 (Undecember)最新官方中文版v3.26.0200
下载我不是废柴无限99999钻999999金币游戏 不减反增版v1.2.16
下载我的女友是声优免广告 安卓版v1
我的女友是声优免广告是一款非常好玩的模拟经营类手游,玩家在游
石器帝国去广告版 v8
石器帝国免广告版是游戏的破解版本,在该版本中为玩家去除了广告
校园恋爱模拟器真人版去广告版 v0.0.7
校园恋爱模拟器真人版免广告版是游戏的破解版本,在该版本中为玩
教练我要开球馆内置菜单修改器 安卓版v1.5.4
教练我要开球馆内购版是一款模拟经营类游戏,玩家们将在游戏中创
我的游轮无限砖石 安卓版v1.7.0
我的游轮无限金币钻石版是一款模拟经营类游戏,你将成为一艘游轮