在App开发时经常会遇到需要做类似微信底部切换按钮那样的菜单栏,所以封装了一个底部菜单控件,方便日后使用。
先看一下demo效果
先看如何进行使用,在看如何实现。
1、在activity_main.xml布局里引用控件
2、在activity进行设置数据
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BottomMenuView bmv_list = (BottomMenuView) findViewById(R.id.bmv_list);
//设置bottom数据
bmv_list.setBottomItem(getData());
//监听点击事件
bmv_list.setBottomItemOnClickListener(new BottomMenuView.BottomItemOnClickListener() {
@Override
public void bottomItemOnClick(View view, int i, BottomItem item) {
Toast.makeText(getApplicationContext(),"点击了第"+i+"个",Toast.LENGTH_SHORT).show();
}
});
//默认选择第几个
bmv_list.setShowIndex(0);
}
/**
* 创建bottom数据
* @return
*/
public List getData(){
List items = new ArrayList();
items.add(new BottomItem("首页",R.mipmap.icon_function_tab));
items.add(new BottomItem("信息",R.mipmap.icon_home_tab));
items.add(new BottomItem("应用",R.mipmap.icon_my_tab));
items.add(new BottomItem("我的",R.mipmap.icon_home_tab));
return items;
}
}
Bottomitem的代码
public class BottomItem {
private String name;
private int icon;
public BottomItem(String name, int icon) {
this.name = name;
this.icon = icon;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIcon() {
return icon;
}
public void setIcon(int icon) {
this.icon = icon;
}
}
是不是很方便呢!
现在来BottomMenuView看看是怎么实现的
public class BottomMenuView extends LinearLayout implements View.OnClickListener{
private static final String TAG = "BottomMenuView";
private Context mContext;
private int imgColor = 0xff009AFF;//点击改变图片颜色
private int imgDefaultColor = 0xff565656;//默认图片颜色
private float textSize = 12; //字体大小
private int imgPadding = 12; //内边距
private List bottomItems;//Item列表
private List
代码比较简单,相信大家看一遍都可以理解。
全部代码已托管到开源中国的码云和GitHub上,欢迎下载。
地址:
https://github.com/yancy2430/BottomNavView
https://git.oschina.net/zhe2430/BottomNavView
也可以直接Gradle引用
compile ‘com.tdeado:bottomnav:1.0.0’
© 版权声明
文章版权归作者所有,未经允许请勿转载。
本站链接:blog.huangfeiyun.cn
THE END
喜欢就支持一下吧♡