[英]“Layout Inflator ” and “Fragment Layout” in android
[英]android layout fragment and normal layout
您好,您的想法是編寫一個活動,該活動以片段形式顯示Google Map api v2,並在botton上顯示兩個按鈕以處理服務並在地圖上生成標記。
現在的問題是,是否可以將地圖片段放到定義和處理按鈕的常規布局中,還是我必須將按鈕放到另一個片段中?
目前地圖覆蓋了整個屏幕,即使我通過android:height限制了尺寸
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/DarkGrey">
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="410dp"
class="com.google.android.gms.maps.SupportMapFragment" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="bottom">
<Button
android:id="@+id/buttonStopTracking"
android:text="@string/btn_stop_tracking"
android:layout_width="160dp"
android:layout_height="60dp"
android:textSize="20sp"
android:textStyle="bold"
/>
<Button
android:id="@+id/buttonCreatePoI"
android:text="@string/btn_create_PoI"
android:layout_width="160dp"
android:layout_height="60dp"
android:textSize="20sp"
android:textStyle="bold"
/>
</LinearLayout>
我希望我的布局xml對您有所幫助。
在我的情況下,所有按鈕和TextViews 位於谷歌地圖。 我正在使用新的Google Maps API v2,我的MainActivity擴展為“ android.support.v4.app.FragmentActivity”。
這是我的完整xml;
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
<LinearLayout
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="40sp"
android:layout_alignParentTop="true" >
<Button
android:id="@+id/provider_fine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_inactive"
android:minWidth="160sp"
android:onClick="useFineProvider"
android:text="@string/use_fine_provider" />
<Button
android:id="@+id/provider_both"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_inactive"
android:minWidth="160sp"
android:onClick="useCoarseFineProviders"
android:text="@string/use_both_providers" />
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayout3"
android:layout_width="match_parent"
android:layout_height="40sp"
android:layout_below="@+id/LinearLayout1" >
<Button
android:id="@+id/reset_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_inactive"
android:minWidth="160sp"
android:onClick="resetButton"
android:text="@string/reset_button" />
<Button
android:id="@+id/calc_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_inactive"
android:minWidth="160sp"
android:onClick="calcButton"
android:text="@string/calc_button" />
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayout2"
android:layout_width="match_parent"
android:layout_height="95sp"
android:orientation="vertical"
android:layout_alignParentBottom="true" >
<TextView
android:id="@+id/label_latlng"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/latlng"
android:textSize="10sp" />
<TextView
android:id="@+id/latlng"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="10sp" />
<TextView
android:id="@+id/label_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/address"
android:textSize="10sp" />
<TextView
android:id="@+id/address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="10sp" />
<TextView
android:id="@+id/secondText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="10sp" />
<TextView
android:id="@+id/distanceText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="10sp" />
</LinearLayout>
</RelativeLayout>
結果畫面如下: 由於隱私原因,我刪除了圖片上的一些文字。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/DarkGrey">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1">
<fragment
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="bottom">
<Button
android:id="@+id/buttonStopTracking"
android:text="@string/btn_stop_tracking"
android:layout_width="160dp"
android:layout_height="60dp"
android:textSize="20sp"
android:textStyle="bold"
/>
<Button
android:id="@+id/buttonCreatePoI"
android:text="@string/btn_create_PoI"
android:layout_width="160dp"
android:layout_height="60dp"
android:textSize="20sp"
android:textStyle="bold"
/>
</LinearLayout>
</LinearLayout>
應該猜對了。
使用layout_weight是訣竅。
垂直於第一個布局的方向也是如此。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.