github地址:https://github.com/buhuiming/BHMAndroid

  使用compile 'com.bhm.sdk.bhmlibrary:BHMLibrary:1.1.2'

一、TitleBar的使用

 

1.XML集成方式:

在layout文件中添加

<com.bhm.sdk.bhmlibrary.views.TitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:titleBarHeight="50dp"
app:titleTextColor="@color/white"
app:rightTextColor="@color/white"
app:leftTextColor="@color/white"
app:titleText="标题"
app:rightText="完成"
app:leftText="返回"
app:leftViewBackgroundResource="@drawable/arrow_a"
app:isLeftViewShow="true"
app:isRightViewShow="true"
app:dividerHeight="1dp"
app:dividerColor="@color/black"
app:backGroundColor="@color/colorPrimary"/>

2.继承TitleBarActivity集成方式:

继承TitleBarActivity类, 重写setContentView和initTitleBar方法

@Override
public void initTitleBar(final TitleBar titleBar) {
titleBar.setTitleBarHeight(150f, false);
////titleBar.setTitleBarHeight(50f, true);
titleBar.setTitleTextColor(R.color.black);
titleBar.setRightTextColor(R.color.black);
titleBar.setLeftTextColor(R.color.black);
titleBar.setTitleText("集成Base");
titleBar.setRightText("提交");
titleBar.setLeftText("后退");
titleBar.setLeftViewBackgroundResource(R.drawable.img_close_source);
titleBar.setIsLeftViewShow(true);
titleBar.setIsRightViewShow(true);
titleBar.setDividerHeight(1f, false);
titleBar.setDividerColor(R.color.black);
titleBar.setBackGroundColor(R.color.white);
} @Override
public View setContentView() {
return LayoutInflater.from(this).inflate(R.layout.activity_extends_title_bar, rootView, false);
}

3.代码生成titleBar的方式:

    private TitleBar titleBar;
private View contentView;
@BindView(R.id.tv_text)
protected TextView tv_text; contentView = LayoutInflater.from(this).inflate(R.layout.activity_java_title_bar, null, false);
ButterKnife.bind(this, contentView);
titleBar = TitleBarBuilder.newBuilder(this)
.createTitleBar()
.setContentView(contentView)
.build()
.setTitleBarHeight(50f, true)
.setTitleTextColor(R.color.white)
.setRightTextColor(R.color.white)
.setLeftTextColor(R.color.white)
.setTitleText("代码生成")
.setRightText("提交")
.setLeftText("后退")
.setLeftViewBackgroundResource(R.drawable.arrow_a)
.setIsLeftViewShow(true)
.setIsRightViewShow(true)
.setDividerHeight(1f, false)
.setDividerColor(R.color.black)
.setBackGroundColor(R.color.colorPrimary);
tv_text.setText("ssssssssssssssss");

4.xml方法介绍:

app:titleBarHeight设置标题栏的高度,默认48dp
app:dividerHeight设置分割线的高度
app:backGroundColor设置标题栏的背景颜色,默认白色
app:titleTextColort设置标题的颜色,默认黑色
app:titleText设置标题文本
app:rightTextColor设置右边文字颜色,默认黑色
app:rightText设置右边文本
app:leftTextColor设置左边文字颜色,默认黑色
app:dividerColor设置分割线的颜色,默认颜色#e9e9eb
app:leftText设置左边文本
app:isLeftViewShow设置是否显示左边的文本和图标
app:isRightViewShow设置是否显示右边的文本和图标
app:leftViewBackgroundResource设置左边图标的资源
app:rightViewBackgroundResource设置右边图标的资源

5.java方法介绍:

setTitleBarHeight(float height, boolean isDpValue)设置标题栏的高度
setDividerHeight(float height, boolean isDpValue)设置分割线的高度
setDividerColor(int color)设置分割线的颜色
setBackGroundColor(int color)设置标题栏的背景颜色
setTitleText(String title)设置标题文本
setTitleTextColor(int color)设置文本颜色
setRightText(String title)设置右边文本
setRightTextColor(int color)设置右边文字颜色
setLeftText(String title)设置左边文本
setLeftTextColor(int color)设置左边文本颜色
setLeftOnClickListener(OnClickListener listener)设置左边控件点击事件
setRightOnClickListener(OnClickListener listener)设置右边控件点击事件
setTitleTextOnClickListener(OnClickListener listener)设置标题点击事件
setTitleBarOnClickListener(OnClickListener listener)设置标题栏点击事件
setTitleBarOnTwoClickListener(final OnTwoClickListener listener)设置标题栏双击事件
setIsLeftViewShow(boolean isLeftViewShow)设置左边控件是否显示
setIsRightViewShow(boolean isRightViewShow)设置右边控件是否显示
setLeftViewBackgroundResource(int res)设置左边图标的资源
setRightViewBackgroundResource(int res)设置右边图标的资源

此外还有一些获取控件的方法。详细用法请参考demo。

TitleBar(标题栏)的使用的更多相关文章

  1. Android界面架构(Activity,PhoneWiondow,DecorView)简介

    在一个Android应用程序中,用户界面通过View和ViewGroup对象构建.所有View的子类成为"Widget",所有ViewGroup的子类成为"Layout& ...

  2. 1.1 Activity

    1.概念 Application:由多个相关的松散的与用户进行交互Activity组成,通常被打包成apk后缀文件中: Activity:就是被用来进行与用户交互和用来与android内部特性交互的组 ...

  3. 从Android系统出发,分析Android控件构架

    从Android系统出发,分析Android控件构架 Android中所有的控件追溯到根源,就是View 和ViewGroup,相信这个大家都知道,但是大家也许会不太清楚它们之间的具体关系是什么,在A ...

  4. Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起

    本文主要内容是讲解一个视图View或者一个ViewGroup对象是如何添加至应用程序窗口中的.下文中提到的窗口可泛指我们能看到的界面,包括一个Activity呈现的界面(我们可以将之理解为应用程序窗口 ...

  5. DOM文档对象总结

    DOM总结: DOM:文档对象模型document object model DOM三层模型: DOM1:将HTML文档封装成对象 DOM2:将XML文档封装成对象 DOM3:将XML文档封装成对象 ...

  6. Activity设置style透明后与SurfaceView合用引发的无形命案

    近期搞视频通话,SurfaceView是不可缺少的,因为启动视频要载入一些资源,比較耗时.会有1.2s黑屏的现象,为了改善用户体验,我们须要设置Activity的Theme为透明风格(QQ 也是如此) ...

  7. 自定义 Activity 的 标题栏 TitleBar

    自定义 Activity 的 标题栏 TitleBar 1. 修改标题栏的高度,背景 编辑styles.xml,添加: <?xmlversion="1.0" encoding ...

  8. Android 自定义Activity的标题栏(Titlebar)

    缺省的情况下,通常见到Activity的标题栏(Titlebar)是这样的(红色框内): HandleContacts是Activity的标题.有时候,我们希望能改变一下这样单调的状况.比如,要在标题 ...

  9. android标题栏(titlebar)显示进度条

    在后台线程中执行各种操作(网络连接.大数据存储)的时候,我们希望让客户能看到后台有操作在进行,那么既能有效的提示用户,又不占用当前操作空间,最好的方法就是在标题栏有个进度条. [代码] [Java]代 ...

随机推荐

  1. 洛谷P1462通往奥格瑞玛的道路——二分答案最短路

    题目:https://www.luogu.org/problemnew/show/P1462 最大值最小问题,二分答案. 代码如下: #include<iostream> #include ...

  2. STL中关于vector的一点有趣的事情

    PLZ ADD SOURCE: http://www.cnblogs.com/xdxer/p/4072056.html 今日饭后,一哥发给我一段代码,让我看看会不会有什么问题. #include< ...

  3. POJ2274(后缀数组应用)

    Long Long Message Time Limit: 4000MS   Memory Limit: 131072K Total Submissions: 25272   Accepted: 10 ...

  4. 五、hibernate在myeclipse中生成实体和映射

  5. SSIS 增量更新

    本文转自 http://sqlblog.com/blogs/andy_leonard/archive/2007/07/09/ssis-design-pattern-incremental-loads. ...

  6. mysql数据库备份bat脚本

    @ECHO off TITLE databaseBackup E: REM : 源数据库: IP 端口 用户名 密码 SET DB_HOST=192.168.1.1 SET DB_PORT=3306 ...

  7. Spring的自学之路之入门

    认识Spring Spring是分层的Java SE/EE 应用一站式的轻量级开源框架,以Ioc(Inverse of Control,控制反转)和AOP(Aspect Oriented Progra ...

  8. .after()和.before()的关系

    .after() 是在相邻元素后面插入元素 .next() 获得匹配元素集合中每个元素紧邻的同胞元素 用法介绍: $(selector).after(content) content 必需.规定要插入 ...

  9. PHP中正则表达式学习及应用(二)

    正则表达式中的“元字符” * 匹配前一个内容的0次1次或多次 例如: <?php $mode="/go*gle/"; //前一个内容指的是 * 的前一个字符 o ,在$str ...

  10. C#基础:通过委托给任何对象数组进行排序

    在日常编写程序的时候,我们需要对一些对象进行排序,比如对int数组进行排序,自定义类数组进行排序,首先我们先讨论对数组进行排序,我们应该对冒泡排序比较熟悉,下面是数组用冒泡排序的方法 for (int ...