Android自定義單選多選下拉列表的實(shí)例代碼
發(fā)瘋的產(chǎn)品要做一個(gè)可以單選和多選的下拉列表,陪你玩玩吧。
直接上效果:

實(shí)現(xiàn)方案:
我的思路是自定義一個(gè)類繼承PopupWindow,里面的選項(xiàng)采用Listview,再結(jié)合一些動(dòng)畫來實(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();
}
}
項(xiàng)目源碼:https://github.com/hfrommane/MultiSelectPopupWindows
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android實(shí)現(xiàn)彈出列表、單選、多選框
- Android ExpandableListView單選以及多選實(shí)現(xiàn)代碼
- Android ListView實(shí)現(xiàn)單選及多選等功能示例
- Android Recyclerview實(shí)現(xiàn)多選,單選,全選,反選,批量刪除的功能
- Android使用AlertDialog實(shí)現(xiàn)的信息列表單選、多選對(duì)話框功能
- Android中ListView + CheckBox實(shí)現(xiàn)單選、多選效果
- Android實(shí)現(xiàn)單選與多選對(duì)話框的代碼
- Android ListView構(gòu)建支持單選和多選的投票項(xiàng)目
- Android中創(chuàng)建對(duì)話框(確定取消對(duì)話框、單選對(duì)話框、多選對(duì)話框)實(shí)例代碼
- Android單選多選按鈕的使用方法
相關(guān)文章
Android實(shí)現(xiàn)左側(cè)滑動(dòng)菜單
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)左側(cè)滑動(dòng)菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
fragment實(shí)現(xiàn)隱藏及界面切換效果
這篇文章主要為大家詳細(xì)介紹了fragment實(shí)現(xiàn)隱藏及界面切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
Android 重力傳感器在游戲開發(fā)中的應(yīng)用
本文主要介紹Android 重力傳感器,這里整理了詳細(xì)的資料,并且詳細(xì)的說明重力傳感器的使用方法,有興趣的小伙伴可以參考下2016-08-08
Android如何實(shí)現(xiàn)壓縮和解壓縮文件
這篇文章主要介紹了Android實(shí)現(xiàn)壓縮和解壓文件的實(shí)例代碼,涉及到批量壓縮文件夾,解壓縮一個(gè)文件等方面的知識(shí)點(diǎn),本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-05-05
Android BroadcastReceiver廣播機(jī)制概述
這篇文章主要為大家詳細(xì)介紹了Android BroadcastReceiver廣播機(jī)制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
Android 指紋識(shí)別開發(fā)實(shí)例
這篇文章主要介紹了Android6.0 指紋識(shí)別開發(fā)實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-09-09
Android webview打開本地圖片上傳實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了Android webview打開本地圖片上傳的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
Android編程實(shí)現(xiàn)TextView垂直自動(dòng)滾動(dòng)功能【附demo源碼下載】
這篇文章主要介紹了Android編程實(shí)現(xiàn)TextView垂直自動(dòng)滾動(dòng)功能,詳細(xì)分析了Android TextView垂直自動(dòng)滾動(dòng)功能的實(shí)現(xiàn)步驟與布局、功能相關(guān)技巧,并附帶了demo源碼供讀者下載,需要的朋友可以參考下2017-02-02

