#android #listview #android-layout #overlay #android-ui
#listview #android-макет #наложение #Android
Вопрос:
У меня есть текстовое поле ( EditText
) в середине экрана (портретный режим), которое я привязал к a custom ListView
. Когда пользователь начинает вводить текстовое поле, под ним появляется listview. Но он перемещает другие элементы в конец listview.
Это код xml, который я использую:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_gravity="center" android:layout_height="fill_parent">
<EditText android:id="@ id/actxt_1" android:hint="Please fill"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_gravity="center_vertical|left" android:layout_weight="2.0" />
<ImageButton android:id="@ id/btn1"
android:src="@android:drawable/ic_menu_mylocation"
android:layout_height="50dp" android:layout_width="50dp"
android:layout_gravity="center_vertical|right" />
</LinearLayout>
<ListView android:id="@ id/list1" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_weight="1.0"/>
<TextView android:layout_width="fill_parent" android:id="@ id/usr_msg"
android:layout_height="wrap_content" android:background="@color/solid_yellow"
android:text="Select please" />
Что я хочу сделать, так это показать прозрачный / полупрозрачный listview с отображением исходной активности в фоновом режиме. дайте ему ощущение наложения.
как я могу этого добиться?
Спасибо
Комментарии:
1. Если вы пытаетесь добиться автозаполнения, посмотрите это .
2. ну, я попробовал автозаполнение, но столкнулся с особой проблемой. Автозаполнение показывает предложения только после ввода 2 символов, а не после одного символа. Так ли это должно быть?
3. Возможно, если вы опубликуете, например, «Как мне изменить автозаполнение таким образом, чтобы оно начиналось после одного символа, а не 2 символа?». Вероятно, есть гораздо более простое решение, чем это. Но для того, чтобы иметь перекрывающиеся представления, вы можете использовать FrameLayout .
Ответ №1:
Вы можете попробовать этот xml,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:weightSum="4">
<LinearLayout android:id="@ id/linearLayout1"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginRight="10dp"
android:layout_marginTop="20dp" android:layout_marginBottom="5dp"
android:background="@drawable/databg" android:layout_weight="1">
<RelativeLayout android:id="@ id/relativeLayout1"
android:gravity="center_horizontal" android:layout_centerVertical="true"
android:layout_marginLeft="10dp" android:layout_marginRight="10dp"
android:layout_width="fill_parent" android:layout_height="180dp"
android:layout_marginTop="10dp" android:layout_marginBottom="10dp">
<EditText android:id="@ id/etsearch" android:layout_width="fill_parent"
android:gravity="center_vertical" android:layout_height="42dp"
android:minHeight="42dp" android:layout_marginTop="20dp"></EditText>
<Button android:layout_width="42dp" android:background="@drawable/simplesearch"
android:layout_height="36dp" android:layout_centerVertical="true"
android:layout_marginTop="20dp" android:layout_alignParentRight="true"
android:layout_alignParentTop="true" android:id="@ id/twtsearch"></Button>
</RelativeLayout>
</LinearLayout>
<ListView android:id="@ id/listsearch"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_weight="3" android:background="@android:color/transparent"
android:layout_height="fill_parent" android:cacheColorHint="#00000000" />
</LinearLayout>
Комментарии:
1. Я пробовал это, но он не показывает нижнюю половину активности в listview. Listview не является прозрачным, я думаю, есть идеи, почему?