无法与不同的布局对象进行交互

时间:2014-03-31 06:58:26

标签: android google-maps android-layout xamarin android-edittext

在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

inputSearchEditText,用于搜索地图位置。

List是一个ListView,用于显示inputSearch EditText

中搜索到的内容

目前,无法与mapWithOverlay中显示的Google地图进行互动。没有注册点击。

我的问题是:我如何重新排列或更改布局,以便EditText可以与mapWithOverlay进行互动?

2 个答案:

答案 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的引用。

根据您的知名度设置列表边距和输入搜索。