在Xamarin中,我有以下Layout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:padding="5dip">
<FrameLayout
android:id="@+id/mapWithOverlay"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:layout_below="@+id/thumbnail" />
<ListView
android:id="@+id/List"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="50dp"
android:layout_marginBottom="50dp" />
<EditText
android:id="@+id/inputSearch"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:hint="Find..."
android:layout_alignParentTop="true" />
</RelativeLayout>
mapWithOverlay
是Google地图的Layout
。
inputSearch
是EditText
,用于搜索地图位置。
List
是一个ListView
,用于显示inputSearch
EditText
目前,无法与mapWithOverlay
中显示的Google地图进行互动。没有注册点击。
我的问题是:我如何重新排列或更改布局,以便EditText
可以与mapWithOverlay
进行互动?
答案 0 :(得分:1)
您无法进行交互,因为listview位于相对布局图层的顶部。您必须在片段中传递android:layout_marginTop="50dp" android:layout_marginBottom="50dp"
(此处下方列表视图50dp高度仍为显示任何视图)。
像这样:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:padding="5dip">
<FrameLayout
android:id="@+id/mapWithOverlay"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginTop="200dp"
android:background="#ffffff"
android:layout_below="@+id/thumbnail" />
<ListView
android:id="@+id/List"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="50dp"
android:layout_marginBottom="200dp" />
<EditText
android:id="@+id/inputSearch"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:hint="Find..."
android:layout_alignParentTop="true" />
</RelativeLayout>
答案 1 :(得分:0)
您必须使用
获取java类中的高度和宽度Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
获取List和inputSearch的引用。
根据您的知名度设置列表边距和输入搜索。