【Android初級】如何實現一個有動畫效果的自定義下拉選單
阿新 • • 發佈:2021-02-21
我們在購物APP裡面設定收貨地址時,都會有讓我們選擇省份及城市的下拉選單項。今天我將使用Android原生的 **Spinner** 控制元件來實現一個自定義的下拉選單功能,並配上一個透明漸變動畫效果。
**要實現的功能及思路如下:**
1. 下拉選單樣式是自定義的、非原生效果:需要使用 setDropDownViewResource 方法來設定下拉檢視的佈局樣式。該方法需要傳入佈局資源,該佈局需要定義每個 Item 的屬性,比如寬高和文字顏色等(為了使效果明顯,我將每個 Item 的高度設定為 50 dp,文字設定為藍色)
2. 點選這個 Spinner 控制元件時,讓其執行一段“從左到右、逐漸顯示”的漸變動畫:我通過 xml 的方式來定義這個動畫,需要包含 translate(位移) 和 alpha(透明度) 兩個TAG,並設定相應的屬性值
3. 下拉選單的內容列表要展示在 Spinner 裡面,需要通過介面卡 Adapter 跟 Spinner 進行繫結:可以直接使用Android原生的 ArrayAdapter
4. 選擇任意一個 Item 後,將其內容展示在介面上,告知使用者選擇的內容:需要實現 Spinner 的 onItemSelected 監聽回撥
**原始碼如下:**
**1、主Activity**(注意程式碼中的註釋,不然你會遇到一些坑!)
```
public class SpinnerDemo extends Activity {
private static final String[] countries = {"北京", "上海", "廣州", "深圳", "成都", "杭州"};
private TextView mTextView;
private Spinner mSpinner;
private Arra