您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Android如何實(shí)現(xiàn)自定義單選多選下拉列表”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Android如何實(shí)現(xiàn)自定義單選多選下拉列表”這篇文章吧。
直接上效果:
實(shí)現(xiàn)方案:
我的思路是自定義一個(gè)類繼承PopupWindow,里面的選項(xiàng)采用Listview,再結(jié)合一些動(dòng)畫來(lái)實(shí)現(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如何實(shí)現(xiàn)自定義單選多選下拉列表”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。