AutoCompleteTextView的使用及属性详解

来源:互联网 发布:淘宝店铺图片 编辑:程序博客网 时间:2024/05/16 09:52

AutoCompleteTextView的使用非常简单

1:用AutoCompleteTextView代替EditView(AutoCompleteTextView是EditView的直接子类)
                <AutoCompleteTextView
                    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" >               
            </AutoCompleteTextView>

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

        mEdiTextContent = (AutoCompleteTextView)findViewById(R.id.et_sendmsg);      
        //mEdiTextContent.setThreshold(1);// 输入一个字母就开始自动提示       
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(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:completionHintsetCompletionHint(CharSequence)设置下拉菜单中的提示标题android:completionHintView 设置下拉菜单中提示标题的视图android:completionThresholdsetThreshold(int)设置用户至少输入几个字符才会显示提示adnroid:dropDownAnchorsetDropDownAnchor(int)设置下拉菜单的定位“锚点”组件,如果没有指定该属性,将使用该TextView本身作为定位”锚点“组件adnroid:dropDownHeightsetDropDownHeight(int)设置下拉菜单的高度android:dropDownHorizontalOffest 设置下拉菜单与文本框之间的水平偏移,下拉菜单默认与文本框左对齐adnroid:dropDownVerticalOffest 设置下拉菜单与文本框之间的垂直偏移,下拉菜单默认紧跟文本框android:dropDownWidthsetDropDownWidth(int)设置下拉菜单的宽度android:popupBackgroundsetDropDownBackgroundResource(int)设置下拉菜单的背景


0 0
原创粉丝点击