1. 程式人生 > >【Android初級】如何實現一個有動畫效果的自定義下拉選單

【Android初級】如何實現一個有動畫效果的自定義下拉選單

我們在購物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