AutoCompleteTextView的使用及属性详解

AutoCompleteTextView的使用非常简单

1:用AutoCompleteTextView代替EditView(AutoCompleteTextView是EditView的直接子类)
                                    android:id="@+id/et_sendmsg"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:dropDownHeight="100dp"
                    android:dropDownWidth="fill_parent"
                    android:background="@drawable/edit_normal"
                    android:layout_toLeftOf="@+id/bt_sendmsg" >               
            

2:在activity中实例化和绑定适配器

        mEdiTextContent = (AutoCompleteTextView)findViewById(R.id.et_sendmsg);      
        //mEdiTextContent.setThreshold(1);// 输入一个字母就开始自动提示       
        ArrayAdapter adapter = new ArrayAdapter(MainActivity.this,  
                //android.R.layout.simple_dropdown_item_1line, books);
                R.layout.autocompletetextview, books);
        mEdiTextContent.setAdapter(adapter); 

3:设置pulldown的宽度高度及坐标(因为在oncreate方法中获取控件在屏幕的坐标都是(0,0),所以重写onWindowFocusChanged方法)

    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        int[] location = new int[2];  
        mEdiTextContent.getLocationInWindow(location);  
        int x = location[0];  
        int y = location[1];
        Log.d("TAG",""+x+";"+y);
        mEdiTextContent.setDropDownHorizontalOffset(-x);
        mEdiTextContent.setDropDownVerticalOffset(-(appContext.height-y+mEdiTextContent.getDropDownHeight()));
        super.onWindowFocusChanged(hasFocus);
    }

 AutoCompleteTextView的completionThreshold:它的值决定了你在AutoCompleteTextView至少输入几个字符,它才会具有自动提示的功能。另,默认最多提示20条。

 dropDownAnchor:它的值是一个View的ID,指定后,AutoCompleteTextView会在这个View下弹出自动提示。

  dropDownSelector:设置选中的item背景色

  dropDownWidth:设置自动提示列表的宽度。

android:completionHint setCompletionHint(CharSequence) 设置下拉菜单中的提示标题
android:completionHintView   设置下拉菜单中提示标题的视图
android:completionThreshold setThreshold(int) 设置用户至少输入几个字符才会显示提示
adnroid:dropDownAnchor setDropDownAnchor(int) 设置下拉菜单的定位“锚点”组件,如果没有指定该属性,将使用该TextView本身作为定位”锚点“组件
adnroid:dropDownHeight setDropDownHeight(int) 设置下拉菜单的高度
android:dropDownHorizontalOffest   设置下拉菜单与文本框之间的水平偏移,下拉菜单默认与文本框左对齐
adnroid:dropDownVerticalOffest   设置下拉菜单与文本框之间的垂直偏移,下拉菜单默认紧跟文本框
android:dropDownWidth setDropDownWidth(int) 设置下拉菜单的宽度
android:popupBackground setDropDownBackgroundResource(int) 设置下拉菜单的背景



你可能感兴趣的:(AutoCompleteTextView的使用及属性详解)