public class SimpleMenuView extends RelativeLayout implements OnClickListener {
private Context mContext;
public SimpleMenuView(Context context) {
super(context);
mContext = context;
}
public SimpleMenuView(Context context, AttributeSet attrs) {
super(context, attrs);
mContext = context;
}
public SimpleMenuView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
mContext = context;
}
public void init(final ItemAction action) {
final Button btn01 = (Button) findViewById(R.id.btn_1);
final Button btn02 = (Button) findViewById(R.id.btn_2);
btn01.setOnClickListener(this);
btn02.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.btn_1:
break;
default:
break;
}
}
}
//加载类方法
private void layoutInflater() {
LayoutInflater mInflater = getLayoutInflater();
if (simpleMenuView == null || simpleMenuView.getParent() == null) {
final SimpleMenuView menuView = (SimpleMenuView) mInflater.inflate(R.layout.menu_view, null);
simpleMenuView = menuView;
}
if (simpleMenuView.getParent() == null) {
RL.addView(simpleMenuView);
}
if (simpleMenuView != null) {
ItemAction action = new ItemAction();
action.text = "btn";
action.action = new Action();
simpleMenuView.init(action); // 初始化
}
}
// ItemAction可以设置自定义Layout各种属性, action为其事件
public static class ItemAction {
public String text;
public Action action;
}
public static class Action {
public void run(Button btn) {
}
}