溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android怎么實現(xiàn)自定義單選多選下拉列表

發(fā)布時間:2022-04-08 15:29:52 來源:億速云 閱讀:369 作者:iii 欄目:編程語言

這篇文章主要講解了“Android怎么實現(xiàn)自定義單選多選下拉列表”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Android怎么實現(xiàn)自定義單選多選下拉列表”吧!

效果如下:

Android怎么實現(xiàn)自定義單選多選下拉列表

實現(xiàn)方案:

我的思路是自定義一個類繼承PopupWindow,里面的選項采用Listview,再結(jié)合一些動畫來實現(xiàn)。

核心代碼:

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();
  }

}

感謝各位的閱讀,以上就是“Android怎么實現(xiàn)自定義單選多選下拉列表”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Android怎么實現(xiàn)自定義單選多選下拉列表這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI