标题栏组件

AUTitleBar 提供包含返回按钮、标题文案、标题栏上的进度条、左按钮(文字和图标)、右按钮(文字和图标)的标题栏。

效果图

默认提供白底的 AUTitleBar 控件:

接口说明

    /**
     * 设置按钮的 drawable
     * @param iconView
     * @param resId
     */
    public void setBtnImage(AUIconView iconView, int resId) ;

    /**
     * 设置按钮的大小和颜色
     * @param iconView
     * @param size
     * @param color
     */
    public void setIconFont(AUIconView iconView, int size, int color);


    /**
     * 获取返回按钮
     * @return
     */
    public AUIconView getBackButton() ;

    /**
     * 获取左按钮
     * @return
     */
    public AURelativeLayout getLeftButton() ;

    /**
     * 获取右按钮
     * @return
     */
    public AURelativeLayout getRightButton() ;

    /**
     * 获取进度菊花
     * @return
     */
    public AUProgressBar getProgressBar() ;

    /**
     * 获取标题文本 view
     * @return
     */
    public AUTextView getTitleText() ;

    /**
     * 获取标题容器
     * @return
     */
    public AURelativeLayout getTitleContainer() ;


    /**
     * 获取标题栏区域
     * @return
     */
    public AURelativeLayout getTitleBarRelative() ;

    @Override
    public void setBackgroundDrawable(Drawable backgroundDrawable) ;

    /**
     * 设置进度的旋转资源
     * @param progressDrawable
     */
    public void setProgressBarDrawable(Drawable progressDrawable) ;

    /**
     * 设置标题的文字及样式,参数若使用默认值,则置 null 或 0
     * @param text
     * @param textSize
     * @param textColor
     */
    public void setTitleText(String text, int textSize, int textColor) ;

    /**
     * 设置标题的文字
     * @param text
     */
    public void setTitleText(String text) ;

    /**
     * 设置返回按钮的资源、大小、颜色,若为 null 或者 0,则保持默认值
     * @param drawable
     * @param size
     * @param color
     */
    public void setBackBtnInfo(Object drawable, int size, int color);

    /**
     * 设置返回按钮的资源
     * @param drawable
     */
    public void setBackBtnInfo(Object drawable);

    /**
     * 设置左按钮的资源、大小、颜色,若为 null 或者 0,则保持默认值
     * @param drawable
     * @param size
     * @param color
     * @param isText
     */
    public void setLeftBtnInfo(Object drawable, int size, int color, boolean isText);

    /**
     * 设置左按钮的资源
     * @param drawable
     */
    public void setLeftButtonIcon(Drawable drawable);

    public void setLeftButtonIcon(String unicode);

    public void setLeftButtonText(String text);

    /**
     * 设置左按钮的颜色、大小
     * @param size
     * @param color
     * @param isText
     */
    public void setLeftButtonFont(int size, int color, boolean isText);

    /**
     * 设置右按钮的资源、大小、颜色,若为 null 或者 0,则保持默认值
     * @param drawable
     * @param size
     * @param color
     * @param isText
     */
    public void setRightBtnInfo(Object drawable, int size, int color, boolean isText) ;

    /**
     * 设置右按钮的资源
     * @param drawable
     */
    public void setRightButtonIcon(Drawable drawable);

    public void setRightButtonIcon(String unicode);

    public void setRightButtonText(String text);

    /**
     * 设置右按钮的颜色、大小
     * @param size
     * @param color
     * @param isText
     */
    public void setRightButtonFont(int size, int color, boolean isText);

    /**
     * 进度条开始旋转
     */
    public void startProgressBar();

    /**
     * 进度条停止并消失
     */
    public void stopProgressBar() ;

    /***
     * 滑动渐变默认处理,totalHeight 使用默认高度
     * @param currentHeight 当前高度
     */
    public void handleScrollChange(int currentHeight);


    /***
     * 滑动渐变默认处理
     *
     * @param totalHeight   总高度
     * @param currentHeight 当前高度
     */
    public void handleScrollChange(int totalHeight, int currentHeight) ;

    /**
     * 设置使用透明底的图案颜色(白色)
     */
    public void setColorWhiteStyle();

    /**
     * 设置使用白底的图案颜色
     */
    public void setColorOriginalStyle();

    /**
     * 设置返回按钮消失
     */
    public void setBackButtonGone();


    /**
     * 添加搜索框(不可进行输入),仅视觉调整
     * @param search
     */
    public void setTitle2Search(String search);

    /**
     * 搜索框转换为标题
     */
    public void setSearch2Title();

    /**
     * 搜索框白底黑字
     */
    public void setSearchColorOriginalStyle();

    /**
     * 搜索框透明底白字
     */
    public void setSearchColorTransStyle();

    /**
     * 左边图标添加红点
     * @param flagView
     */
    public void attachFlagToLeftBtn(AUWidgetMsgFlag flagView);

    /**
     * 右边图标添加红点
     * @param flagView
     */
    public void attachFlagToRightBtn(AUWidgetMsgFlag flagView) ;

    /**
     * targetView 添加红点
     * @param targetView
     * @param flagView
     */
    public void attachFlagView(AURelativeLayout container, View targetView, AUWidgetMsgFlag flagView;

自定义属性

属性名

说明

类型

backgroundDrawable

标题栏的整个背景

reference

backIconColor

返回箭头颜色

color,reference

titleText

标题文案

string,reference

titleTextSize

标题的字体大小

dimension,reference

titleTextColor

标题的字体颜色

color,reference

leftIconResid

左图标的 PNG 或者 JPG ID

reference

leftIconUnicode

左图标的 Unicode

string,reference

leftIconColor

左图标的颜色

color,reference

leftIconSize

左图标的大小

dimension,reference

leftText

左文本文案

string,reference

leftTextColor

左文本的颜色

color,reference

leftTextSize

左文本的大小

dimension,reference

rightIconResid

右图标的 PNG 或者 JPG ID

reference

rightIconUnicode

右图标的 Unicode

string,reference

rightIconColor

右图标的颜色

color,reference

rightIconSize

右图标的大小

dimension,reference

rightText

右文本文案

string,reference

rightTextColor

右文本的颜色

color,reference

rightTextSize

右文本的大小

dimension,reference

代码示例

以下示例中,aui 引用路径为:xmlns:aui="http://schemas.android.com/apk/res/com.alipay.mobile.antui"

基础使用

<com.alipay.mobile.antui.basic.AUTitleBar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        aui:aui_titleText="标题"
        aui:aui_titleTextSize="@dimen/AU_TEXTSIZE2"
        aui:aui_titleTextColor="#f64219"
        aui:leftIconUnicode="@string/iconfont_user_setting"
        aui:rightText="测试2"/>

滚动透明

<com.alipay.mobile.antui.basic.AUTitleBar
        android:id="@+id/title_bar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        aui:rightIconUnicode="@string/iconfont_user_setting"
        aui:aui_titleText="透明标题测试" />
titleBar.handleScrollChange(testImg.getMeasuredHeight(), 0);
testScroll.setScrollViewListener(new AUScrollViewListener() {
            @Override
            public void onScrollChanged(ScrollView scrollView, int x, int y, int oldx, int oldy) {
                titleBar.handleScrollChange(y);
            }
        });

红点标题

<com.alipay.mobile.antui.basic.AUTitleBar
        android:id="@+id/progress_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        aui:aui_titleText="带刷新标题"
        aui:leftIconUnicode="@string/iconfont_scan"
        aui:rightIconUnicode="@string/iconfont_more"/>
AUTitleBar processBar = (AUTitleBar) findViewById(R.id.progress_title);

        processBar.startProgressBar();

        WidgetMsgFlag j = new WidgetMsgFlag(this);
        j.showMsgFlag();
        processBar.attachFlagToLeftBtn(j);

        WidgetMsgFlag i = new WidgetMsgFlag(this);
        i.showMsgFlag(12);
        processBar.attachFlagToRightBtn(i);