自定义TitleBar,简单便捷


BHMAndroid工程:一些常用的工具类,以及常用的控件,主要用来提高开发效率。(GitHub


集成:

    compile 'com.bhm.sdk.bhmlibrary:BHMLibrary:version' (version不定时更新)
    <dependency>
      <groupId>com.bhm.sdk.bhmlibrary</groupId>
      <artifactId>BHMLibrary</artifactId>
      <version>version</version>
      <type>pom</type>
    </dependency>

目前库包含了一些项目中常用的模块,后续会慢慢的添加完善。

一、TitleBar的使用

1.png
2.png

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。

更新日志


1.1.6——1.1.7 添加了7个方法

      app:leftTextSize="14sp"//左边字体大小
      app:titleTextSize="17sp"//标题字体大小
      app:rightTextSize="14sp"//右边边字体大小
      app:leftViewMarginLeft ="20dp"//左边控件到左边的距离
      app:rightViewMarginRight ="20dp"//右边控件到右边的距离
      app:leftTextViewPaddingLeft ="20dp"//左边文字跟左边图标的距离
      app:rightTextViewPaddingRight ="20dp"//右边文字跟右边图标的距离

对应的方法

      titleBar.setTitleTextSize(18);
      titleBar.setLeftTextSize(16);
      titleBar.setRightTextSize(16);
      titleBar.setLeftTextViewPaddingLeft(18, true);
      titleBar.setRightTextViewPaddingRight(18, true);
      titleBar.setLeftViewMarginLeft(20, true);
      titleBar.setRightViewMarginRight(20, true);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,327评论 0 17
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,044评论 25 707
  • 天冷了,大家记得添衣哦。
    Feira阅读 196评论 0 2
  • 第一次听这首歌,是高中的时候闺蜜放给我听的,孙燕姿《我怀念的》。 我怀念的 是无话不说 我怀念的 是一起做梦 我怀...
    zhh心素如简阅读 164评论 0 0
  • 笔试过了这么久,今天终于第一次去学车啦。 我自知手脚笨拙,恐怕难以掌握,所以去之前,可算是储足了勇气硬着头皮上的。...
    幸福的西瓜君阅读 739评论 2 2