项目中有时会用到下拉框,今天就给大家整理一下 spinner基本使用,带图片下拉框实现方式 及自定义的下拉框实现方式
一、spinner基本使用
layout中的.xml文件
<Spinner android:id="@+id/spinner"
android:layout_marginTop="50dp"
android:layout_marginRight="80dp"
android:layout_gravity="top|right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@arrays/ctype"> </Spinner>
value中定义arrays.xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="ctype">
<item>康明斯发动机</item>
<item>五十铃发动机</item>
</string-array>
</resources>
也可以在Java文件中定义选择类型数组如String[] ctype = new String[]{"康明斯发动机","五十铃发动机"};
Java代码
spinner=(Spinner)findViewById(R.id.spinner);
ArrayAdapter<String> adpter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,ctype);
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String string = adpter.getItem(i).toString();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
上面就是有文字列表下拉框实现方式,但是有时候我们需要插入图片 下面给大家介绍带图片实现方式
二 、带图片下拉框
先上效果:
折叠
展开
实现方式:
还是先在布局文件中引入控件
<Spinner android:id="@+id/spinner" android:layout_marginTop="50dp" android:layout_marginRight="80dp" android:layout_gravity="top|right" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Spinner>
初始化控件
private Spinner spinner;
spinner = (Spinner) view.findViewById(R.id.spinner);
带图片和文本item
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content"
android:layout_height="40dp"
android:orientation="horizontal">
<ImageView
android:id="&#