您的位置:首页 > 移动开发 > Android开发

从零开始学android:Android中的基本控件(下) —— 随笔提示文本:AutoCompleteTextView

2013-12-27 22:35 591 查看
随笔提示功能

在用户使用搜索引擎的过程之中,经常会看见一些随笔的信息提示功能,例如:Google中的随笔提示功能

AutoCompleteTextView

随笔提示功能可以很好的帮助用户进行方便的信息输入,而在Android之中也提供了与之类似的功能,而这个功能的实现就需要依靠android.widget.AutoCompleteTextView类完成,此类的继承结构如下:

java.lang.Object

↳ android.view.View

↳ android.widget.TextView

↳ android.widget.EditText

↳ android.widget.AutoCompleteTextView

AutoCompleteTextView类的常用方法



范例:完成随笔提示的功能开发



AutoCompleteTextView默认使用 simple_dropdown_item_1line时, 下拉框是白色的,选择的字体也是白色的,看不到 。

所以我们先定义下拉布局文件:activity_auto.xml

<?xml version="1.0" encoding="UTF-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/dropDownItemStyle"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:ellipsize="marquee"
    android:singleLine="true"
    android:textAppearance="?android:attr/textAppearanceLargeInverse"
    android:textColor="#000000" />


主布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
	<AutoCompleteTextView 
	    android:id="@+id/myauto"
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:completionHint="请选择您喜欢的图书" 
	    android:dropDownHorizontalOffset="100dp" 
	    android:completionThreshold="1" 
	    android:textColor="#000000"
	    />
</LinearLayout>


activity文件:

package com.richard.autocompletetextview;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class MyAutoCompleteTextView extends Activity {
	private static String data[] = new String[]{"mldn","mldn java","mldn魔乐科技","mldn李兴华","mldn job","mldn 牛儿吃草"};
	private AutoCompleteTextView myauto = null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		//ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,data);
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.activity_auto,data);
	    this.myauto = (AutoCompleteTextView) super.findViewById(R.id.myauto);
		this.myauto.setAdapter(adapter);
		this.myauto.setTextColor(Color.BLACK);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.auto_complete_text_view, menu);
		return true;
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: