我正在尝试创建元素的垂直LinearLayout,如下所示: 文字检视(权重0.05) 地图(重量0.85) 编辑字段和按钮的水平布局
到目前为止,看来还可以,但是现在我试图将地图放入FrameLayout中,以便可以向其附加子视图,但是当我这样做时,地图将不再显示。有人可以帮忙吗?
我的layout.xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1"
android:id="@+id/tlll"
>
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".05"
android:background="#000000"
android:text="UK Map"
android:textColor="#ffffff"
android:gravity="center"/>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frlayout"
android:layout_weight=".85"
android:layout_width="match_parent"
android:layout_height="0dp"
>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="0dp"
android:layout_height="0dp"
tools:context=".MapShow" />
</FrameLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".10"
android:background="#004D79"
android:orientation="horizontal">
<EditText
android:id="@+id/addressText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="7dp"
android:layout_weight="1"
android:background="#FFFFFF"
android:text="Enter address">
</EditText>
<Button
android:id="@+id/findButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:padding="5dp"
android:text="Find">
</Button>
</LinearLayout>
权重看起来不错,布局高度和宽度似乎有问题,但是我看不出有什么问题。
答案 0 :(得分:0)
您的片段宽度和高度为零。尝试增加它们。
答案 1 :(得分:0)
您可以通过RelativeLayout来实现
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.MapsActivity" />
<RelativeLayout
android:id="@+id/relLayout1"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/border_black"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:elevation="10dp">
<ImageView
android:id="@+id/ic_magnify"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_centerVertical="true"
android:layout_marginRight="16dp"
android:layout_marginLeft="10dp"
android:src="@drawable/ic_magnify" />
<AutoCompleteTextView
android:id="@+id/input_search"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/ic_magnify"
android:background="@null"
android:hint="Enter Address, City or Zip Code"
android:imeOptions="actionSearch"
android:textColor="#000"
android:textSize="15sp" />
<ImageView
android:id="@+id/ic_gps"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_centerVertical="true"
android:layout_marginRight="16dp"
android:layout_toLeftOf="@+id/map_location_db"
android:src="@drawable/ic_pin" />
<ImageView
android:id="@+id/map_location_db"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="16dp"
android:src="@drawable/ic_datebase" />
</RelativeLayout>
<ImageView
android:visibility="gone"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_below="@id/relLayout1"
android:layout_alignParentRight="true"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:scaleType="centerCrop"
android:src="@drawable/ic_gps" />
<ImageView
android:visibility="gone"
android:id="@+id/place_picker"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_below="@+id/relLayout1"
android:layout_marginLeft="10dp"
android:layout_marginTop="15dp"
android:scaleType="centerCrop"
android:src="@drawable/ic_map" />
<ImageView
android:visibility="gone"
android:id="@+id/place_info"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_below="@+id/place_picker"
android:layout_marginLeft="10dp"
android:layout_marginTop="15dp"
android:scaleType="centerCrop"
android:src="@drawable/ic_info" />