通过本节课可以学习到的内容:
- Spinner的用法
- AutoCompleteTextView的用法
实例代码:
运行效果参见本课程示例App:安卓猴Demos
github地址:https://github.com/opengit/MonkeyAndroid
Spinner的用法
Spinner
,俗称下拉列表,它提供了一组固定的值或选项,允许用户从中选择一个作为默认的状态。
AutoCompleteTextView的用法
AutoCompleteTextView
,自动完成文本框,用户在输入时给予补全提醒。
效果图
Activity的源码
代码语言:javascript复制package com.sunjiajia.monkeyandroid;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Spinner;
/**
* Created by monkey on 1/3/16.
*/
public class SpinnerAutoCompleteTextViewActivity extends BaseActivity {
@Override public int giveViewResId() {
return R.layout.activity_spinner_autocompletetextview;
}
private Spinner mSpinnerCity;
private String[] mDatas;
private AutoCompleteTextView tvAc;
@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
intViews();
initData();
confingViews();
}
private void confingViews() {
setSpinner();
setAutoCompleteTextView();
}
private void setAutoCompleteTextView() {
ArrayAdapter<CharSequence> adapter03 =
ArrayAdapter.createFromResource(this, R.array.av_male, android.R.layout.simple_list_item_1);
tvAc.setAdapter(adapter03);
}
private void setSpinner() {
//通过适配器来进行动态的数据填充
// 第一种:
/* ArrayAdapter<String> adapter01 =
new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, mDatas);
mSpinnerCity.setAdapter(adapter01);*/
ArrayAdapter<CharSequence> adapter02 = ArrayAdapter.createFromResource(this, R.array.city,
android.R.layout.simple_list_item_1);
mSpinnerCity.setAdapter(adapter02);
}
private void intViews() {
mSpinnerCity = (Spinner) findViewById(R.id.spinner_city);
tvAc = (AutoCompleteTextView) findViewById(R.id.tv_autocomplete);
}
protected void initData() {
mDatas = new String[] { "动态数据Spinner", "北京", "上海", "深圳", "广州", "洛杉矶", "纽约", "华盛顿" };
}
}
布局文件XML的源码
代码语言:javascript复制<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
>
<!--
android:entries="@array/av_male"
用来绑定静态的array数据。
-->
<Spinner
android:id="@ id/spinner_male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/av_male"
/>
<Spinner
android:layout_marginTop="30dp"
android:id="@ id/spinner_city"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<!--
android:completionThreshold="1"
用来设置第几个字符开始提示;
-->
<AutoCompleteTextView
android:id="@ id/tv_autocomplete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:hint="请输入侍寝的女优名字"
/>
</LinearLayout>
values/arrays.xml源码
代码语言:javascript复制<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="av_male">
<item>静态数据Spinner</item>
<item>苍井空</item>
<item>苍小妹</item>
<item>苍二妹</item>
<item>朝桐光</item>
<item>朝小姐</item>
<item>朝美女</item>
<item>小泽玛利亚</item>
<item>小仓美女</item>
<item>西翔野</item>
<item>西门庆</item>
<item>孙静雅</item>
<item>孙悟空</item>
<item>波多野结衣</item>
<item>菠萝菠萝蜜</item>
</array>
<array name="city">
<item>动态填充数据2</item>
<item>北京</item>
<item>上海</item>
<item>深圳</item>
<item>广州</item>
<item>洛杉矶</item>
<item>纽约</item>
<item>华盛顿</item>
</array>
</resources>
下课
这一节课,我们主要学习了Spinner和AutoCompleteTextView,希望能够在实际中加以运用!