Spinner的简单功能用法介绍
需要实现的布局
布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/books"
android:prompt="@string/tip"/>
<Spinner android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:prompt="@string/tip"/>
</LinearLayout>
代码实现
package com.test.spinner;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class MainActivity extends Activity {
private Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = (Spinner)findViewById(R.id.spinner);
//定义一个数组
String [] arr = new String[]{
"西游记","三国演义","红楼梦","水浒传"};
//创建ArrayAdapter对象
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.textview, arr);
//为Spinner设置adapter
spinner.setAdapter(adapter);
}
}
第一个Spinner我们采用android:entries=来定义,所以需要给他相应的在Values中创建一个新的资源文件,不过这样相对来说比较死板,使用的是默认的文本样式 如下,
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="books">
<item>哈利波特</item>
<item>哈利波特2</item>
<item>哈利波特3</item>
<item>哈利波特4</item>
</string-array>
</resources>
而当我们需要i改变文字的大小,或者颜色等等是。我们可以创建ArrayAdapter,其中我们的第二个参数为一个TextView的控件,我们重写定义一个单个的TextView的xml用来给文本定义文本的样式(字体,大小,颜色等)。如下
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/spinner2"
android:textColor="#FF0080"
>
</TextView>