随笔提示功能
在用户使用搜索引擎的过程之中,经常会看见一些随笔的信息提示功能,例如: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;
}
}