BHMAndroid工程:一些常用的工具類,以及常用的控件,主要用來提高開發效率。(GitHub)
集成:
compile 'com.bhm.sdk.bhmlibrary:BHMLibrary:version' (version不定時更新)
<dependency>
<groupId>com.bhm.sdk.bhmlibrary</groupId>
<artifactId>BHMLibrary</artifactId>
<version>version</version>
<type>pom</type>
</dependency>
目前庫包含了一些項目中常用的模塊,后續會慢慢的添加完善。
一、TitleBar的使用
1、XML集成方式:
在layout文件中添加
<com.bhm.sdk.bhmlibrary.views.TitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:titleBarHeight="50dp"
app:titleTextColor="@color/white"
app:rightTextColor="@color/white"
app:leftTextColor="@color/white"
app:titleText="標題"
app:rightText="完成"
app:leftText="返回"
app:leftViewBackgroundResource="@drawable/arrow_a"
app:isLeftViewShow="true"
app:isRightViewShow="true"
app:dividerHeight="1dp"
app:dividerColor="@color/black"
app:backGroundColor="@color/colorPrimary"/>
2、繼承TitleBarActivity集成方式:
繼承TitleBarActivity類, 重寫setContentView和initTitleBar方法
@Override
public void initTitleBar(final TitleBar titleBar) {
titleBar.setTitleBarHeight(150f, false);
////titleBar.setTitleBarHeight(50f, true);
titleBar.setTitleTextColor(R.color.black);
titleBar.setRightTextColor(R.color.black);
titleBar.setLeftTextColor(R.color.black);
titleBar.setTitleText("集成Base");
titleBar.setRightText("提交");
titleBar.setLeftText("后退");
titleBar.setLeftViewBackgroundResource(R.drawable.img_close_source);
titleBar.setIsLeftViewShow(true);
titleBar.setIsRightViewShow(true);
titleBar.setDividerHeight(1f, false);
titleBar.setDividerColor(R.color.black);
titleBar.setBackGroundColor(R.color.white);
}
@Override
public View setContentView() {
return LayoutInflater.from(this).inflate(R.layout.activity_extends_title_bar, rootView, false);
}
3、代碼生成titleBar的方式:
private TitleBar titleBar;
private View contentView;
@BindView(R.id.tv_text)
protected TextView tv_text;
contentView = LayoutInflater.from(this).inflate(R.layout.activity_java_title_bar, null, false);
ButterKnife.bind(this, contentView);
titleBar = TitleBarBuilder.newBuilder(this)
.createTitleBar()
.setContentView(contentView)
.build()
.setTitleBarHeight(50f, true)
.setTitleTextColor(R.color.white)
.setRightTextColor(R.color.white)
.setLeftTextColor(R.color.white)
.setTitleText("代碼生成")
.setRightText("提交")
.setLeftText("后退")
.setLeftViewBackgroundResource(R.drawable.arrow_a)
.setIsLeftViewShow(true)
.setIsRightViewShow(true)
.setDividerHeight(1f, false)
.setDividerColor(R.color.black)
.setBackGroundColor(R.color.colorPrimary);
tv_text.setText("ssssssssssssssss");
4、xml方法介紹:
app:titleBarHeight設置標題欄的高度,默認48dp
app:dividerHeight設置分割線的高度
app:backGroundColor設置標題欄的背景顏色,默認白色
app:titleTextColort設置標題的顏色,默認黑色
app:titleText設置標題文本
app:rightTextColor設置右邊文字顏色,默認黑色
app:rightText設置右邊文本
app:leftTextColor設置左邊文字顏色,默認黑色
app:dividerColor設置分割線的顏色,默認顏色#e9e9eb
app:leftText設置左邊文本
app:isLeftViewShow設置是否顯示左邊的文本和圖標
app:isRightViewShow設置是否顯示右邊的文本和圖標
app:leftViewBackgroundResource設置左邊圖標的資源
app:rightViewBackgroundResource設置右邊圖標的資源
5.java方法介紹:
setTitleBarHeight(float height, boolean isDpValue)設置標題欄的高度
setDividerHeight(float height, boolean isDpValue)設置分割線的高度
setDividerColor(int color)設置分割線的顏色
setBackGroundColor(int color)設置標題欄的背景顏色
setTitleText(String title)設置標題文本
setTitleTextColor(int color)設置文本顏色
setRightText(String title)設置右邊文本
setRightTextColor(int color)設置右邊文字顏色
setLeftText(String title)設置左邊文本
setLeftTextColor(int color)設置左邊文本顏色
setLeftOnClickListener(OnClickListener listener)設置左邊控件點擊事件
setRightOnClickListener(OnClickListener listener)設置右邊控件點擊事件
setTitleTextOnClickListener(OnClickListener listener)設置標題點擊事件
setTitleBarOnClickListener(OnClickListener listener)設置標題欄點擊事件
setTitleBarOnTwoClickListener(final OnTwoClickListener listener)設置標題欄雙擊事件
setIsLeftViewShow(boolean isLeftViewShow)設置左邊控件是否顯示
setIsRightViewShow(boolean isRightViewShow)設置右邊控件是否顯示
setLeftViewBackgroundResource(int res)設置左邊圖標的資源
setRightViewBackgroundResource(int res)設置右邊圖標的資源
此外還有一些獲取控件的方法。詳細用法請參考demo。
更新日志
1.1.6——1.1.7 添加了7個方法
app:leftTextSize="14sp"http://左邊字體大小
app:titleTextSize="17sp"http://標題字體大小
app:rightTextSize="14sp"http://右邊邊字體大小
app:leftViewMarginLeft ="20dp"http://左邊控件到左邊的距離
app:rightViewMarginRight ="20dp"http://右邊控件到右邊的距離
app:leftTextViewPaddingLeft ="20dp"http://左邊文字跟左邊圖標的距離
app:rightTextViewPaddingRight ="20dp"http://右邊文字跟右邊圖標的距離
對應的方法
titleBar.setTitleTextSize(18);
titleBar.setLeftTextSize(16);
titleBar.setRightTextSize(16);
titleBar.setLeftTextViewPaddingLeft(18, true);
titleBar.setRightTextViewPaddingRight(18, true);
titleBar.setLeftViewMarginLeft(20, true);
titleBar.setRightViewMarginRight(20, true);