Home

Awesome

CustomTitleBar

通用Android标题栏控件,本控件是基于 QMUI_Android 中的标题栏控件抽取出来,单独封装使用的,在此感谢QMUI团队的开源项目。

主要功能:

效果图

1

基本使用(详细的使用方法可以参考demo)

Download

1.添加Gradle依赖

dependencies {
    compile 'com.xhb:commontitlebar:latestVersion'//将latestVersion替换成上面最新的版本号
}

2.在布局文件中添加

    <com.stx.xhb.commontitlebar.CustomTitleBar
        android:id="@+id/titlebar"
        android:layout_width="match_parent"
        android:layout_height="?attr/titlebar_height"/>

3.在styles文件中配置主题


<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="config_color_divider">@color/divider</item>
        <!--标题栏主题样式-->
        <item name="CustomTitleBarStyle">@style/QDTopBar</item>
        <!--设置标题栏高度-->
        <item name="titlebar_height">56dp</item>
    </style>

    <style name="QDTopBar" parent="CustomTitleBar.TopBar">
        <item name="titlebar_bg_color">@color/colorAccent</item>
        <item name="titlebar_title_text_size">16sp</item>
        <item name="titlebar_title_color">@color/color_white</item>
        <item name="titlebar_subtitle_color">@color/config_color_white</item>
        <item name="titlebar_text_btn_color_state_list">@color/s_topbar_btn_color</item>
        <item name="titlebar_image_btn_height">48dp</item>
    </style>

</resources>

4.在Activity或者Fragment中配置

       CustomTitleBar mTopBar = (CustomTitleBar) findViewById(R.id.titlebar);
       
        mTopBar.addLeftImageButton(R.mipmap.ic_launcher,R.id.topbar_left_button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "测试", Toast.LENGTH_SHORT).show();
            }
        });
        
        mTopBar.addLeftBackImageButton().setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "测试", Toast.LENGTH_SHORT).show();
            }
        });
        
        mTopBar.addRightTextButton("呵呵",R.id.topbar_right_about_button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "呵呵", Toast.LENGTH_SHORT).show();
            }
        });
        
         //代码中设置样式
    titleBar2.addRightTextButton("完成",R.id.topbar_right_about_button,ContextCompat.getColorStateList(this,R.color.color_black),16).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "完成", Toast.LENGTH_SHORT).show();
            }
        });

自定义属性说明

属性名属性说明属性值
titlebar_title_gravity标题gravity,用于控制 title 和 subtitle 的对齐方式默认为Gravity.CENTER
titlebar_show_divider是否显示分割线boolean 类型 ,默认显示
titlebar_divider_color分割线颜色color
titlebar_divider_height分割线高度dimension 类型,默认为1px
titlebar_bg_color标题栏背景颜色color 类型,默认为 Color.WHITE
titlebar_left_back_drawable_id左侧返回按钮图片资源idreference
titlebar_title_text_size标题文字大小dimension 类型,默认为17sp
titlebar_title_text_size_with_subtitle有副标题下的标题文字大小dimension 类型,默认为16sp
titlebar_subtitle_text_size副标题文字大小dimension 类型,默认为11sp
titlebar_title_color标题文字颜色color
titlebar_subtitle_color副标题文字颜色color
titlebar_title_margin_horizontal_when_no_btn_aside左右没有按钮时,title 距离 TopBar 左右边缘的距离dimension,默认为0dp
titlebar_title_container_padding_horizontal包裹 title 和 subTitle 的容器横向内边距dimension 类型,默认0dp
titlebar_image_btn_width图片按钮宽度dimension,默认48dp
titlebar_image_btn_height图片按钮高度dimension,默认48dp
titlebar_text_btn_padding_horizontal文本按钮横向内边距dimension 类型,默认12dp
titlebar_text_btn_color_state_list文字按钮点击状态reference 类型
titlebar_text_btn_text_size按钮文字大小dimension 类型,默认16sp

关于我

如果觉得文章帮到你,喜欢我的文章可以关注我和朋友一起运营的微信公众号,将会定期推送优质技术文章,求关注~~~

欢迎关注“大话安卓”微信公众号

欢迎加入“大话安卓”技术交流群,一起分享,共同进步

欢迎加入“大话安卓”技术交流群,互相学习提升

License

Copyright (C) 2016 xhb_199409@163.com

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

如果喜欢,还请statr&Fork&follow进行支持,谢谢O(∩_∩)O~