当前位置: 移动技术网 > IT编程>移动开发>Android > Android自定义单选多选下拉列表的实例代码

Android自定义单选多选下拉列表的实例代码

2019年07月24日  | 移动技术网IT编程  | 我要评论

周慧珊,3g高清影院,冰焦糖玛奇朵

发疯的产品要做一个可以单选和多选的下拉列表,陪你玩玩吧。

直接上效果:

实现方案:

我的思路是自定义一个类继承popupwindow,里面的选项采用listview,再结合一些动画来实现。

核心代码:

public class multiselectpopupwindows extends popupwindow {

  private context context;
  private view parent;
  private list<search> data;
  private int ystart;
  private searchpopupwindowsadapter adapter;

  public multiselectpopupwindows(context context, view parent, int ystart, list<search> data) {
    this.context = context;
    this.parent = parent;
    this.ystart = ystart;
    this.data = data;
    initview();
  }

  private void initview() {
    view view = view.inflate(context, r.layout.popupwindows_multiselect, null);
    view.startanimation(animationutils.loadanimation(context, r.anim.fade_in_slow));
    linearlayout linearlayout = (linearlayout) view.findviewbyid(r.id.linearlayout_selector);
    linearlayout.startanimation(animationutils.loadanimation(context, r.anim.list_top_in));
    listview listview = (listview) view.findviewbyid(r.id.listview_selector);

    setwidth(viewgroup.layoutparams.match_parent);
    setheight(viewgroup.layoutparams.wrap_content);
    setbackgrounddrawable(new bitmapdrawable());
    setfocusable(true);
    setoutsidetouchable(true);
    setcontentview(view);
    showatlocation(parent, gravity.top, 0, densityutil.dip2px(context, ystart));
    update();

    initlistview(listview, data);
  }

  private void initlistview(listview listview, list<search> data) {
    adapter = new searchpopupwindowsadapter(context);
    adapter.setitems(data);
    listview.setadapter(adapter);
  }

  public list getitemlist() {
    return adapter.getitemlist();
  }

}
 

项目源码:https://github.com/hfrommane/multiselectpopupwindows

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网