下拉框Spinner的简单用法

Spinner很多都不太合用,需要自定义背景等:

1、准备两张图片,最好做成9.png

2、在drawable中定义spinner_selector.xml



            android:drawable="@drawable/spinner_press" />  
            android:drawable="@drawable/spinner" />   

3、style中定义


   

4、调用
    android:id="@+id/spinner"
    style="@style/spinner_style"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:animationCache="true"
    android:drawSelectorOnTop="true"

      android:overlapAnchor=”false”

    android:spinnerMode=”dropdown” 

/>

5、在layout中定义simple_spinner_item.xml

    android:id="@android:id/text1"
    android:paddingLeft="5dip"
    android:paddingRight="5dip"
    android:gravity="center_vertical"
    android:textColor="#808080"
    android:singleLine="true"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />

6、java代码

Spinner spinner = (Spinner) findViewById(R.id.spinner);

//数据
ArrayList dataList = new ArrayList();
dataList.add("北京");
dataList.add("上海");
dataList.add("广州");
dataList.add("深圳");

//适配器
ArrayAdapter arrayAdapter= new ArrayAdapter(this, R.layout.my_simple_spinner_item, dataList);
//设置样式
arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//加载适配器
spinner.setAdapter(arrayAdapter);

效果图

下拉框Spinner的简单用法_第1张图片

问题:这个方式没有实现三角按键旋转功能,还需要摸索一下

备注:下拉框遮挡住了Spinner的显示框,需要设置如下: 
android:overlapAnchor=”false”

android:spinnerMode=”dropdown”  

另外,多个下拉框使用popdownmenu

你可能感兴趣的:(Android)