那我們是否可以使用別的控件,來實現(xiàn)相同的功能呢?答案是肯定的,我們用EditText來接收點擊事件,而在請求完數(shù)據(jù)之后,使用ListPopupWindow來顯示下拉選項,選擇EditText的原因主要有以下幾點:
- 默認在底部會有帶顏色的橫線,Material Design風格的EditText看起來效果很不賴
- EditText可以方便的配置上、下、左、右四個位置的小圖標,我們可以在右側放置一個向下的三角箭頭,使它看起來像一個系統(tǒng)的Spinner
而選擇ListPopupWindow則是因為:
- 可以方便的使用下拉列表
- 可以自由設置錨點
1. XML布局
布局文件依舊很簡單,只要一個簡單的EditText,配上一個右側的下拉圖標:
<EditText android:id="@+id/et_languages" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right" android:drawableRight="@drawable/ic_dropdown" android:hint="Please Select..."/>
2. 代碼中創(chuàng)建ListPopupWindow
此部分包含以下邏輯: