我们先实现一个简单的关于AutoCompleteTextView

的小应用

第一步:先建一个xml,我们就将它取名为one。接下来我们就要进行布局了:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:padding="5dp" >        <AutoCompleteTextView        android:id="@+id/ac_text"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:padding="10dp"        android:hint="请输入搜索关键词"        android:completionHint="相关词语"        android:completionThreshold="1"        android:dropDownHeight="wrap_content"        android:dropDownHorizontalOffset="0dp"        android:dropDownVerticalOffset="0dp"        android:dropDownWidth="match_parent"        android:textColor="#000000"        android:textSize="17sp" />    LinearLayout>
下面这些就是AutoCompleteTextView的一些属性  
android:completionHint设置出现在下拉菜单中的提示标题
android:completionThreshold设置用户至少输入多少个字符才会显示提示
android:dropDownHorizontalOffset下拉菜单于文本框之间的水平偏移。默认与文本框左对齐
android:dropDownHeight下拉菜单的高度
android:dropDownWidth下拉菜单的宽度
android:singleLine单行显示
android:dropDownVerticalOffset垂直偏移量

第二步:我们还要在建一个xml,将他取名为two。这个xml是用来显示用户输入内容出现的提示信息。代码如下:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/tv_name"    android:layout_width="match_parent"    android:layout_height="40dp"    android:singleLine="true"    android:gravity="center"    android:textSize="17sp"    android:textColor="#ff0000" />
补充:android:singleLine="true"是用来限制Text的行数android:maxLine="1"都是用来 
限制Text的行数为一行。那么这两个有什么区别呢?maxLines 是在限制高度,singleLine是
强制不让换行。 通俗点讲在相同一个Textview中用maxLines只会显示Textview能显示的字数,
而singleLine则会在一行中显示所输入的所有内容。

第三步:布局完成了就要在类中做点文章了,具体代码如下:

public class MainActivity extends AppCompatActivity {    private AutoCompleteTextView ac_text;    private String[] hintArray = {"", "第一", "第一次", "第一次出走", "第二", "第二次"};    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.one);        ac_text= (AutoCompleteTextView) findViewById(R.id.ac_text);        ArrayAdapter adapter = new ArrayAdapter(                this, R.layout.two, hintArray);        ac_text.setAdapter(adapter);
// 这段代码是创建一个数组适配器的代码,里面有三个参数,第一个参数是上下文,就是当前的Activity,// 第二个参数是android sdk中自己内置的一个布局,它里面只有一个TextView,也就是我们自己定义的two.xml// 这个参数是表明我们数组中每一条数据的布局是这个view,就是将每一条数据都显示在这个view上面;// 第三个参数就是我们要显示的数据。listView会根据这三个参数,// 遍历adapterData里面的每一条数据,读出一条,显示到第二个参数对应的布局中,这样就形成了我们看到的listView.    
}
}
到此为止,一个关于AutoCompleteTextView的简单代码就完成了,效果如下:

初学者关于学习android中关于实现用户输入内容有提示功能(AutoCompleteTextView)心得_第1张图片

初学者关于学习android中关于实现用户输入内容有提示功能(AutoCompleteTextView)心得_第2张图片


四:如果在进一步写的话可以让程序进行模糊查找,那么可以参考:

http://blog.csdn.net/u013626215/article/details/39341997(未验证)

则百度

其他功能可以参考http://www.cnblogs.com/tinyphp/p/3973358.html




更多相关文章

  1. Android布局 android:gravity 和 android:layout_Gravity一些细
  2. RelativeLayout 相对布局
  3. android > 布局文件 > 背景圆角
  4. Android LayoutInflater.inflate(R.layout.activity_test, conta
  5. Android 去掉运营商STK对话框提示
  6. Android Studio第二十七期 - RecycleView不同item布局
  7. Android梅花布局,遥控器布局
  8. Layout布局
  9. Android产生一个提示框

随机推荐

  1. Android(安卓)Studio Button按钮点击事件
  2. android 中的编译选项的对应关系
  3. Android打包常见问题的解决办法
  4. 边框的两种写法
  5. android学习--画圆角图
  6. Detecting and Using LTE Networks
  7. Android4.4电源管理——电源锁
  8. [置顶] android 无线调试
  9. android TCP 两个手机局域网通信(wifi)
  10. Android手机网络类型转换