详谈自定义详谈自定义View之之GridView单选单选 金额选择金额选择Layout-
ChooseMoneyLayout
下面小编就为大家带来一篇详谈自定义View之GridView单选 金额选择Layout-ChooseMoneyLayout。小编觉得
挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
思路:思路:
外层控件用的是GridView,里面每个item放一个FrameLayout,FrameLayout里面有Checkbox和ImageView,chechBox添加
background实现选中效果,选中背景为透明,显示item的勾勾图标,不选中checkbox就有背景,挡住选中的勾勾。。重写
GridView,实现监听和数据适配,用一个接口返回选中的数据。
代码:代码:
ChooseMoneyLayout.java
public class ChooseMoneyLayout extends GridView {
private int[] moneyList = {}; //数据源
private LayoutInflater mInflater;
private MyAdapter adapter; //适配器
int defaultChoose = 0; //默认选中项
public ChooseMoneyLayout(Context context, AttributeSet attrs) {
super(context, attrs);
setData();
}
public void setData() {
mInflater = LayoutInflater.from(getContext());
//配置适配器
adapter = new MyAdapter();
setAdapter(adapter);
}
/**
* 设置默认选择项目,
* @param defaultChoose
*/
public void setDefaultPositon(int defaultChoose) {
this.defaultChoose = defaultChoose;
adapter.notifyDataSetChanged();
}
/**
* 设置数据源
* @param moneyData
*/
public void setMoneyData(int[] moneyData){