通過回答Quessema Aroua是好的,但這是你可以做什麼,沒有圖書館。
在XML中實現此代碼。
<AutoCompleteTextView
android:layout_width="0dp"
android:layout_height="30dp"
android:hint="@string/source"
android:id="@+id/actv5"
app:layout_constraintTop_toBottomOf="@+id/actv4"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:background="@drawable/side_nav_bar"
android:textAlignment="center"
android:gravity="center"
android:layout_marginTop="50dp"
android:dropDownHeight="155dp"
android:cursorVisible="false"/>
<ImageView
android:layout_width="35dp"
android:layout_height="35dp"
android:id="@+id/imv2"
android:src="@drawable/ic_keyboard_arrow_down_black_24dp"
app:layout_constraintTop_toTopOf="@+id/actv5"
app:layout_constraintBottom_toBottomOf="@+id/actv5"
app:layout_constraintRight_toRightOf="@+id/actv5"
/>
你可以選擇你需要的任何佈局,但我的是ConstraintLayout
。
而這YourActivity.java
locnames = getResources().getStringArray(R.array.Loc_names);
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(
this, android.R.layout.simple_spinner_dropdown_item,
locnames);
autoText1 =(AutoCompleteTextView) findViewById(R.id.actv4);
autoText1.setAdapter(arrayAdapter);
autoText1.setThreshold(1);
autoText1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//autoText1.showDropDown();
hideKeyBoard(view);
//String selection = (String) parent.getItemAtPosition(position);
selected = position;
}
});
/*autoText1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View arg0) {
autoText1.showDropDown(); }
});*/
ImageView imageView = (ImageView) findViewById(R.id.imv1);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View arg0) {
autoText1.showDropDown(); }
});
你也應該建立locnames的字符串作爲礦山的strings.xml是這樣的:在YourActivity代碼
<string-array name="Loc_names">
<item>India</item>
<item>America</item>
<item>Germany</item>
<item>Russia</item>
<item>Australia</item>
<item>China</item>
</string-array>
消息部分。 java在這裏通過點擊AutoCompleteTextView
上的任何地方顯示相同的彈出/微調,這消除了使用ImageView
(箭頭)的需要,但您需要ImageView
這就是爲什麼我已將此代碼作爲消息/評論的原因。
/*autoText1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View arg0) {
autoText1.showDropDown(); }
});*/
由於我直接從我的項目中複製了這個,所以應該根據你的情況替換所有的id /名稱。
某些圖像爲參考
- 這是正常
AutoCompleteTextView
。
- 這是
AutoCompleteTextView
與Spinner
。
- 這是AutoCompleteTextView一些文本輸入和文本 在所說的紡絲器過濾。
這是你在找什麼? https://developer.android.com/reference/android/widget/AutoCompleteTextView.html#attr_android:dropDownAnchor – Ivan
你想要一個帶有旋鈕的'AutoCompleteTextView'?因爲如果是的話,我已經將所有代碼編寫成了我在項目中實現的代碼。 –