Android AutoCompleteTextView DropDown位置

Fig*_*gör 6 android autocompletetextview

我使用以下代码进行自动完成,但下拉项目位于上方AutoCompleteTextView.我希望它出现在AutoCompleteTextView.我怎样才能做到这一点?

package com.example.autocomplete;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class MainActivity extends Activity {
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
         setContentView(R.layout.activity_main);

         ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                 android.R.layout.simple_list_item_1, COUNTRIES);
         AutoCompleteTextView textView = (AutoCompleteTextView)
                 findViewById(R.id.countries_list);
         textView.setAdapter(adapter);
     }

     private static final String[] COUNTRIES = new String[] {
         "Belgium","Belgam","Bellam", "France Belgium", "Italy", "Germany", "Spain"
     };
 }
Run Code Online (Sandbox Code Playgroud)

XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <AutoCompleteTextView
        android:id="@+id/countries_list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="100dp"
        android:dropDownHeight="100dp"
        android:ems="10"
        android:text="AutoCompleteTextView" >

        <requestFocus />
    </AutoCompleteTextView>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

Fra*_*eye 10

看起来这必须工作:

android:dropDownHeight="100dp"
Run Code Online (Sandbox Code Playgroud)

在这里成立:https://stackoverflow.com/a/7648028/1723525

编辑:

我尝试了一个新的活动和下面显示的建议ara.也许你必须将dropDownHeight更改为150dp,因为你有marginTop为100dp.我猜dropDownHeight必须高于Y位置(=填充+边距).如果有效,请告诉我.


Anh*_*Duy 7

设置下拉列表的高度并在下拉列表和edittext之间设置空格.下拉列表将显示在dropdownanchor中的上方和下方视图中.高度= 200dp,下拉列表不会与键盘重叠.

                <RelativeLayout
                    android:id="@+id/dropdownAutoCompleteTextView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingBottom="8dp"
                    android:paddingTop="8dp">
                    <AutoCompleteTextView
                        android:id="@+id/autoTextViewState"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:digits="@string/get_started_petname_digits"
                        android:dropDownAnchor="@+id/dropdownAutoCompleteTextView"
                        android:dropDownHeight="200dp"
                        android:hint="Colorado"
                        android:imeOptions="actionNext"
                        android:inputType="textEmailAddress|textCapWords"
                        android:maxLength="15"
                        android:nextFocusDown="@+id/editZipCode"/>
                </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)


Dip*_*nia 5

在您的布局中使用android:dropDownAnchorandroid:dropDownHorizontalOffsetandroid:dropDownVerticalOffset也许还有其他人AutoCompleteTextView。有关更多信息AutocompleteTextView

  • android:dropDownVerticalOffset 正是我所需要的。多谢,伙计! (3认同)