我们先实现一个简单的关于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" >
<!--上面那个padding是用来控制距屏幕的距离-->
<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" />
<!--AutoCompleteTextView 自动提示控件-->
</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<String> adapter = new ArrayAdapter<String>(
this, R.layout.two, hintArray);
ac_text.setAdapter(adapter);
// 这段代码是创建一个数组适配器的代码,里面有三个参数,第一个参数是上下文,就是当前的Activity,
// 第二个参数是android sdk中自己内置的一个布局,它里面只有一个TextView,也就是我们自己定义的two.xml
// 这个参数是表明我们数组中每一条数据的布局是这个view,就是将每一条数据都显示在这个view上面;
// 第三个参数就是我们要显示的数据。listView会根据这三个参数,
// 遍历adapterData里面的每一条数据,读出一条,显示到第二个参数对应的布局中,这样就形成了我们看到的listView.
}
}到此为止,一个关于AutoCompleteTextView的简单代码就完成了,效果如下:四:如果在进一步写的话可以让程序进行模糊查找,那么可以参考:
http://blog.youkuaiyun.com/u013626215/article/details/39341997(未验证)
或则百度
其他功能可以参考http://www.cnblogs.com/tinyphp/p/3973358.html
3578

被折叠的 条评论
为什么被折叠?



