這篇文章主要為大家展示了“Android如何實現(xiàn)自定義單選多選下拉列表”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“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)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文題目:Android如何實現(xiàn)自定義單選多選下拉列表-創(chuàng)新互聯(lián)
瀏覽地址:http://www.rwnh.cn/article24/doecce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、面包屑導(dǎo)航、微信公眾號、網(wǎng)站建設(shè)、虛擬主機、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容