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);