本库是结合TitleView开源库与PopMenuMore开源库写的一个自定义标题栏库。
效果图
Demo一共给出三种标题栏样式,如下图
使用方法
1、添加依赖
在工程的bulid.gradle中添加
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
在app的bulid.gradle中添加
dependencies {
compile 'com.github.hwx95:TitleView:v1.0'
}
2、布局文件添加自定义标题
<com.jarek.library.TitleView
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:background="#0093fe"
title:left_image="@mipmap/back_normal"
title:title_name="标题"
title:title_text_color="@android:color/white"
title:right_text_two="@string/more"
title:title_text_size="17sp"
title:small_text_size="@dimen/title_text_small_size"
title:right_image="@mipmap/bar_button_right"
android:layout_height="50dp"
android:id="@+id/title"/>
3、初始化及点击事件
TitleView的监听
titleView = (TitleView) findViewById(R.id.title);
TextView back=titleView.getLeftBackTextTv();
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this,"我是返回!",Toast.LENGTH_LONG).show();
}
});
先实例化TitleView,然后通过自定义TitleView里面的get方法,得到想要的控件实例。
PopMenuMore的初始化监听
initMenu();
setting = titleView.getRightImageIv();
setting.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mMenu.showAsDropDown(setting);
}
});
private void initMenu() {
mMenu = new PopMenuMore(this);
// mMenu.setCorner(R.mipmap.demand_icon_location);
// mMenu.setBackgroundColor(Color.parseColor("#ff8800"));
ArrayList<PopMenuMoreItem> items = new ArrayList<>();
items.add(new PopMenuMoreItem(OPTION, "选项"));
items.add(new PopMenuMoreItem(SETTING, "设置"));
mMenu.addItems(items);
mMenu.setOnItemSelectedListener(new PopMenuMore.OnItemSelectedListener() {
@Override
public void selected(View view, PopMenuMoreItem item, int position) {
switch (item.id) {
case OPTION:
Toast.makeText(MainActivity.this,"我是选项!",Toast.LENGTH_LONG).show();
break;
case SETTING:
Toast.makeText(MainActivity.this,"我是设置!",Toast.LENGTH_LONG).show();
break;
}
}
});
}
最后附上Github Demo