0

在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> 

mapWithOverlayLayout的谷歌地圖。

inputSearch是用於搜索地圖位置的EditText

ListListView顯示的搜索項在inputSearchEditText

目前,這顯示在mapWithOverlay的谷歌地圖無法與之交互。沒有註冊點擊。

我的問題是:我如何重新排列或更改我的佈局,使EditText可以與mapWithOverlay交互?

回答

1

由於列表視圖存在於相對佈局圖層的頂部,因此無法進行交互。您需要在片段中傳遞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> 
+0

你可以請我給我一些例子的佈局代碼從我的帖子中的佈局衍生出來的嗎?我不確定你的意思。 – Garry

+0

這個工作,但我看到我的EditText下一個大的黑色區域。我怎樣才能消除這個黑色區域? – Garry

+0

我認爲黑色區域是用於listview的。減少列表視圖大小並將此大小傳遞到framelayout marginTop。 – Sanawaj

0

你必須使用

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 

獲取列表和inputSearch的參考來獲得在Java類的高度和寬度。

根據您的知名度設置列表的邊距和輸入搜索。