两个LinearLayout实现简单的菜单增加和删除

来源:互联网 发布:修改ssh 默认端口 编辑:程序博客网 时间:2024/06/05 00:59

作者:燕歆波

导读:使用两个LienarLayout实现菜单从上到下或者从下到上的增加和删除,类似支付宝增加功能和移除功能

功能比较简单就直接贴代码了,布局就是上下两个LinearLayout:

@BindContentView(R.layout.activity_two_linear_layout)public class TwoLinearLayout extends BackActivity {    @BindView(id = R.id.ll_top)    private AutoLinefeedLayout ll_top;    @BindView(id = R.id.ll_bottom)    private AutoLinefeedLayout ll_bottom;    private List<String> dataList;    @Override    public void onLoad(Bundle bundle) {        super.onLoad(bundle);        initData();        setBottomData();    }    private void initData() {        dataList = new ArrayList<>();        dataList.clear();        for (int i = 0; i < 10; i++) {            dataList.add("slkdjas" + i);        }    }    private void setBottomData() {        for (int i = 0; i < dataList.size(); i++) {            String content = dataList.get(i);            View view = View.inflate(this, R.layout.item_service_theme_layout, null);            TextView tv_hot_tag_name = (TextView) view.findViewById(R.id.tv_hot_tag_name);            tv_hot_tag_name.setText(content);            ll_bottom.addView(view);            view.setOnClickListener(new MyClick());        }    }    class MyClick2 implements View.OnClickListener {        @Override        public void onClick(View v) {            //移除已经添加的菜单            ll_top.removeView(v);            //将删除的菜单重新还原到原位            ll_bottom.addView(v);            //移除后,菜单归回原位,再次点击时,实现新增菜单功能            v.setOnClickListener(new MyClick());        }    }    class MyClick implements View.OnClickListener {        @Override        public void onClick(View v) {        //移除菜单添加到另一个LienarLayout中            ll_bottom.removeView(v);            //添加新的菜单            ll_top.addView(v);            //添加后,被添加的view如果再次点击则是将添加的菜单归回原位,然后从当前LinearLayout中移除            v.setOnClickListener(new MyClick2());        }    }}
阅读全文
0 0
原创粉丝点击