自定义titleBar沉浸式导航栏



titlebar

原文地址:http://blog.youkuaiyun.com/android_love/article/details/49179919

项目地址:https://github.com/bacy/titlebar.git

一个简单易用的导航栏TitleBar,可以轻松实现IOS导航栏的各种效果 整个代码全部集中在TitleBar.java中,所有控件都动态生成,动态布局。不需要引用任何资源文件,拷贝TitleBar.java到自己工程即可使用 alt text

1. 左边文字,左边返回图片,左边点击事件
左边可设置图片,文字单独显示,也可以设置图片文字同时显示
titleBar.setLeftImageResource(R.mipmap.back_green);
titleBar.setLeftText("返回");
titleBar.setLeftTextColor(Color.WHITE);
titleBar.setLeftClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        finish();
    }
});
2. 中间文字
中间文字根据左右控件始终居中显示,自动排版
titleBar.setTitle("文章详情");
titleBar.setTitleColor(Color.WHITE);
3. 右边action按钮或者文字
通过addAction添加操作控件,通过removeAction删除控件。可以使用图片或者文字。
titleBar.setActionTextColor(Color.WHITE);
mCollectView = (ImageView) titleBar.addAction(new TitleBar.ImageAction(R.mipmap.collect) {
    @Override
    public void performAction(View view) {
        Toast.makeText(MainActivity.this, "点击了收藏", Toast.LENGTH_SHORT).show();
        mCollectView.setImageResource(R.mipmap.fabu);
    }
});

titleBar.addAction(new TitleBar.TextAction("发布") {
    @Override
    public void performAction(View view) {
        Toast.makeText(MainActivity.this, "点击了发布", Toast.LENGTH_SHORT).show();
    }
});
4. 下划分割线
titleBar.setDividerColor(Color.GRAY);
5. 一行代码适配沉浸式
如果你的项目使用了沉浸式,布局时候加上这行代码,TitleBar会自动填充状态栏
titleBar.setImmersive(true);
6. 一行代码设置TitleBar高度
如果你的TitleBar没有固定高度,会默认设置48dip作为高度,你也可以自定义高度
titleBar.setHeight(48 * 2);
7. 设置简单的副标题
如果TitleBar分主副标题,用\n和\t区分,如果\n,主副标题上下排列,如果\t,主副标题左右排列
titleBar.setTitle("文章详情\n副标题");
titleBar.setTitle("文章详情\t副标题");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值