简介
truck项目的github地址:
https://github.com/hookYuan/Truck
TitleBar为自定义封装的title,用于替换系统的Toolbar和ActionBar。Titilebar是默认集成于MVPActivity中,所以,所有集成MVPActivity的界面在布局文件都可以不用再重复写TitleBar。自定义TitleBar可以实现动态更换左、中、右字体大小,可以动态修改字体颜色、可以动态添加布局文件等。自定义额titleBar的目的就是把toolbar实现不方便的地方变得简单。由于Toolbar主要是集成在Activity中,下面主要讲一讲Acitivty中TitleBar的使用。
示例
设置TitleBar的显示方式。TitleBar的显示显示方式有三种:一、没有Titlebar;二、Titlebar显示在内容上面;三、TitleBar覆盖在内容上面。在MVPActivity中通过以下重写方法配置:
@Override
public ETitleType showToolBarType() {
return ETitleType.OVERLAP_TITLE;
}
配置个性化TitleBar,在配置个性化TitleBar之前,首先需要设置Application的主题取消状态栏(5.0以上有效,5.0以下不配置状态栏),因为Titlebar已经默认接管状态栏的显示。配置如下:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/album_colorPrimary</item>
<item name="colorPrimaryDark">@color/album_colorPrimaryDark</item>
<item name="colorAccent">@color/album_colorAccent</item>
<!--更改menu菜单的颜色-->
<item name="actionMenuTextColor">@color/white</item>
<!--修改默认背景-->
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/background</item>
</style>
在Activity中可以通过getTitleBar()方法分别设置左侧、中间、右侧的文字、图标、点击事件、文字样式等。具体设置参数可参看truck项目。简单示例如下:
getTitleBar()
.setLeftIcon(R.drawable.ic_base_back_white)
.setDefaultTheme(ETitleTheme.DARK_TRANSPARENT)
.setTitleAndStatusBgColor(ContextCompat.getColor(this, com.yuan.basemodule.R.color.transparent)).
setFontColor(ContextCompat.getColor(this, R.color.white))
.setToolbar("青花瓷");
Titlebar还支持menu菜单,采用默认菜单样式,直接简单配置,具体效果如下:
ArrayList<String> data = new ArrayList<>();
data.add("缩放动画");
data.add("平移动画");
data.add("说明");
getTitleBar().setToolbar("RxDialog")
.setLeftIcon(R.drawable.ic_base_back_white)
.setRightMenu(R.drawable.ic_base_menu_more_white, data, new OnMenuItemClickListener() {
@Override
public void onItemClick(PopupWindow popupWindow, AdapterView<?> adapterView, View view, int i) {
}
});
getTitleBar().setAnimationTitleBarIn();//进入动画
getTitleBar().setAnimationTitleBarOut();//出厂动画
快速开发
android 5.0以后,我认为在美观上最大的改变就是沉浸式状态栏。然而想要状态栏和toolbar使用起来都不是那么的简单。而 titlebar设计之初就是为了简单的使用,主要用于调节状态栏和toolbar的样式。便捷修改状态栏文字颜色等等。Titlebar的快速使用还体现在参数设置采用Build模式。对于Build模式大家肯定都不陌生,毕竟现在主流的OkHttp、Glide、Rxjava、Retrofit等都是采用这样的模式,这里,我为大家推荐一个插件InnerBuilder,它可以一键实现代码的build模式。具体安装方法如下:
- Android studio中点击Setting。
- 然后在setting中搜索plugins。
- 在plugins搜索Innerbuilder,然后点击search in repositories。
- 找到Innerbuilder下载安装,重启Android Studio即可。
最后附上truck快速开发交流qq群:698442320