Android封装TitleBar基本适用所有常规开发

github地址:https://github.com/SiberiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/note/note_details_5/TitleBar.md

主要实现:(后续会继续完善,喜欢的给个star,感谢支持)

使用方法
allprojects {
repositories {
...
aven { url 'https://jitpack.io' }
}
}
dependencies {
compile 'com.github.SibreiaDante:SiberiaDanteLib:v1.0.1'
}
1、在xml中
 com.siberiadante.widget.TitleBar
android:layout_width="match_parent"
android:layout_height="wrap_content" />
2、项目使用沉浸式状态栏的话,设置titleBar沉浸式:
 titleBar.setImmersive(true);

3、左侧以返回关功能为主:不显示内容或者显示图片+文字(仿IOS),可自己设置图片、文字,也可以使用默认文字图片
 titleBar.setLeftImage(R.mipmap.back);
titleBar.setLeftText("返回");
titleBar.setLeftListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ToastUtil.toast("点击了左侧");
}
});

4、右侧可设置一个图片或者不显示内容,有监听事件
titleBar.setRightImage(R.mipmap.search);
titleBar.setRightListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ToastUtil.toast("点击了右侧");
}
});

5、设置标题(可设置主标题和副标题,可设置字体颜色、字体,标题点击监听)
titleBar.setTitle("各种Dialog组件封装");
titleBar.setSubTitle("SiberiaDante");
titleBar.setSubTitleColor(getResources().getColor(R.color.gray));
titleBar.setTitleListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ToastUtil.showTextLong("点击了标题");
}
});

6、TitleBar设置底部分割线,可以是颜色、图片等
 titleBar.setDivideBackground(getResources().getColor(R.color.colorPrimary));

Android封装TitleBar基本适用所有常规开发的更多相关文章

  1. Android NFC技术(三)——初次开发Android NFC你须知道NdefMessage和NdefRecord

    Android NFC技术(三)--初次开发Android NFC你须知道NdefMessage和NdefRecord 这最近也是有好多天没写博客了,除了到处张罗着搬家之外,依旧还是许许多多的琐事阻碍 ...

  2. Android五天乐(第一天)开发环境的部署,开发流程与调试

    由于项目要求參与无线端开发,本着技多不压身的指导精神,决定依旧从web转攻client! 由于之前自己玩过两个月android(实际上仅仅是做了两个有失水准的demo级app),本来以为这次再来学习将 ...

  3. 我的Android进阶之旅------>Android疯狂连连看游戏的实现之开发游戏界面(二)

    连连看的游戏界面十分简单,大致可以分为两个区域: 游戏主界面区 控制按钮和数据显示区 1.开发界面布局 本程序使用一个RelativeLayout作为整体的界面布局元素,界面布局上面是一个自定义组件, ...

  4. Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录

    一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...

  5. Android 封装Dialog

    package com.example.myandroid01; import android.support.v7.app.ActionBarActivity; import android.os. ...

  6. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  7. 用Android++在Visual Studio中用C/C++开发Android应用

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用Android++在Visual Studio中用C/C++开发Android应用.

  8. Android Widget小组件开发(一)——Android实现时钟Widget组件的步骤开发,这些知识也是必不可少的!

    Android Widget小组件开发(一)--Android实现时钟Widget组件的步骤开发,这些知识也是必不可少的! PS:学习自某网站(不打广告) 这个小组件相信大家都很熟悉吧,以前的墨迹天气 ...

  9. 基于C/S模式的android手机与PC机通信系统的开发

    原文链接: http://blog.csdn.net/nupt123456789/article/details/8213486 基于C/S模式的android手机与PC机通信系统的开发 作者:郑海波 ...

随机推荐

  1. JavaWeb基础—Tomcat

    JavaWeb服务器:可以运行以及发布JavaWeb应用的JavaWeb容器,开发项目必须放在该容器中才可以被浏览器访问.(只能等待请求,然后做出响应) 静态资源(HTML):数据始终不变 动态资源( ...

  2. SSM整合思路

    引自网友: https://zhuanlan.zhihu.com/p/23917781

  3. Java基础——类加载机制

    什么叫类加载 JVM把 .class 字节码文件加载到内存,并进行相关的校验.解析.初始化,最终转换为虚拟机可用的JAVA类型的过程,称为JVM类加载机制. (当然,JVM并不关心class文件的来源 ...

  4. Oracletop10物理段

    Oracletop10物理段 select owner, name, type, mega, tbs from (select owner, case when segment_type = 'LOB ...

  5. PostgreSQL的hook机制初步学习

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面:PostgreSQL内部结构与源代码研究索引页    回到顶级页面:PostgreSQL索引页 本文的目的一是为了备忘,二是为了抛砖引玉,希望 ...

  6. 【无图慎入】Link Cut Tree 总结

    link-cut tree 动态树(准确说是维护森林)之一,支持连边,断边,求链上权值和等操作. splay基础:会rotate和splay就行.还要会一点区间反转操作打标记.很基♂础的东西. 有重链 ...

  7. DNS DHCP 路由 FTP

    第1章 网络基础 1.1 IP地址分类 IP地址的类别-按IP地址数值范围划分 IP地址的类别-按IP地址用途分类 IP地址的类别-按网络通信方式划分 1.2 局域网上网原理过程 DHCP原理过程详情 ...

  8. APP性能测试--功耗测试

    一.功耗测试基础 移动设备的电池电量是非常有限的,保持持久的续航能力尤为重要.另外,android的很多特性都比较耗电(如屏幕,GPS,sensor传感器,唤醒机制,CPU,连网等的使用),我们必须要 ...

  9. DMA-Direct Memory Access

    什么是? DMA 首先它是一种数据的传输方式:其次传输包括从设备到内存.内存到存储.内存到内存等:最后,它是在不经过cpu的情况下实现数据传输.. DAM主要有共享缓存DMA,Scatter/Gath ...

  10. 2.4 Oracle之DCL的SQL语句之用户权限以及三大范式

    DCL   (Data Control Language,数据库控制语言)用于定义数据库权限 一.用户权限 1.1  建立用户以及授权: Eg :CREATE USER 用户名  IDENTIFIED ...