2017年4月9日 星期日

[Android]spinner下拉選單


這個是介紹spinner程式,用list的做法,簡單提示幾個重點:
先宣告相關變數:

ArrayAdapter<String> adapter;ArrayListString
, Object>> list04;Spinner spinner;
以下到.put之後,到list.add都是必要的

spinner = (Spinner) findViewById(R.id.spinner);
SimpleAdapter adapter;Map, 
Object> map1=new HashMap<>();map1.put("sport", R.drawable.bus);map1.put("name", "巴士");Map, Object> map2=new HashMap<>();map2.put("sport", R.drawable.car);map2.put("name", "汽車");Map, Object> map3=new HashMap<>();map3.put("sport", R.drawable.bike);map3.put("name", "機車");Map, Object> map4=new HashMap<>();map4.put("sport", R.drawable.people);map4.put("name", "步行");
list04 = new ArrayList<>();list04.add(map1);list04.add(map2);list04.add(map3);list04.add(map4);
adapter = new SimpleAdapter(
getBaseContext(), list04, R.layout.layout_spin, new String[]{"name", "sport"}, new int[]{R.id.text1, R.id.imgview}
);spinner.setAdapter(adapter);

至於layout_spin的layout如下:

xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">
            android:id="@+id/imgview"        android:layout_width="72sp"        android:layout_height="72sp"        android:layout_weight="0.5"        app:srcCompat="@drawable/people" />
            android:id="@+id/text1"        android:layout_width="72sp"        android:layout_height="24sp"        android:layout_weight="0.5"        android:gravity="center"        android:textColor="#ff0000ff"        android:textSize="20sp" />


結果如下圖所示。可以觀察到,ArrayList的這個觀念可以在不同的元件使用,並不只有spin可以用而已,因此後續會再測試其他的元件




關鍵字:spinnerPhoto.rar
https://drive.google.com/open?id=0B2tk1k2HlqOXUnpQMFc5czNKNGM






沒有留言: