2017-01-17 5 views
1

MapFragmentに問題があり、どのようにして画面を埋めることができないのかわかりません。私は私のtextviewで停止するMapFragmentを持っている必要があります。私が見たいものをより良く描写した写真を添付し​​てください。 今、私のMapFragmentが画面を満たし、TextviewがMapFragmentの上に置かれます。TextViewとButtonを別々のUIセグメントに含むMapFragment

次に、テキストビューの上に2つのボタンがあります。これで結構です。

これは私がそれを見てみたい方法です:

enter image description here

はあなたが役立つことを願って!ここ

はレイアウトです:ここでは

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_alignBottom="@id/activity_main" 
    android:layout_width="match_parent" 
    android:weightSum="10" 
    android:keepScreenOn="true" 
    android:layout_height="match_parent"> 


    <LinearLayout 
     android:id="@+id/linelay" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="horizontal"> 

     <fragment android:name="com.google.android.gms.maps.SupportMapFragment" 
      android:id="@+id/map" 
      android:layout_width="match_parent" 
      android:layout_weight="9" 
      android:layout_height="wrap_content" 
      tools:context="com.example.MapsActivity" 
      tools:layout="@layout/activity_main"/> 


    </LinearLayout> 

    <ToggleButton 
     android:text="ToggleButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentBottom="true" 
     android:id="@+id/toggleButton" /> 

    <Button 
     android:text="@string/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@id/toggleButton" 
     android:layout_alignParentRight="true" 
     android:onClick="clearMap" 
     android:id="@+id/button1" /> 


    <TextView 
     android:id="@+id/text1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="Hello World!" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentBottom="true" 
     android:background="@drawable/frame" /> 

</RelativeLayout> 
+0

あなたのマップは順番にその親(RelativeLayout)の全空間(match_parent)を使用するように設定され、その領域のすべてを使用して、のLinearLayoutの中にあります。 マップのlayout_weightは、何もしないでLinearLayoutの中にあるので、何もしません。おそらく、LinearLayoutにlayout_weightを設定することが望ましいでしょう。 layout_weightは、親がLinearLayoutの場合に最も効果的です(さらにはるかに高速です)。 – AlxDroidDev

答えて

0

はそれを行うための一つの方法です。 LinearLayoutを外側のレイアウトとして使用し、レイアウトの重みを使用して異なるセクションの高さを定義します。

これは、ハードコードされたdp値を使用していずれかのセクションの高さを定義するよりも優れています。高さにレイアウトの重みを使用すると、異なる画面サイズで動的に調整するほうが効果的です。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.danielnugent.mapapplication.MapsActivity" 
    android:orientation="vertical" 
    android:weightSum="1"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:orientation="vertical" 
     android:layout_weight=".8"> 
     <fragment 
      android:id="@+id/map" 
      class="com.google.android.gms.maps.SupportMapFragment" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"/> 
    </LinearLayout> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:orientation="vertical" 
     android:layout_weight=".2"> 

     <TextView 
      android:id="@+id/text" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView Text Here" 
      android:layout_marginLeft="40dp" 
      android:layout_marginStart="40dp" 
      android:lineSpacingExtra="14sp" 
      android:textSize="18sp" 
      android:layout_above="@+id/button1" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 

     <Button 
      android:id="@+id/button2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button 1" 
      android:layout_marginRight="18dp" 
      android:layout_marginEnd="18dp" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" 
      android:layout_above="@+id/button1" /> 

     <Button 
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button 2" 
      android:layout_alignParentBottom="true" 
      android:layout_alignLeft="@+id/button2" 
      android:layout_alignStart="@+id/button2" /> 

    </RelativeLayout> 
</LinearLayout> 

結果:

enter image description here

+0

この回答は受け入れられました私の得点が15点以下であるので、受け入れられないとマークできます。ありがとうございました@ダニエル・ニュージェント – typecode

+0

はい私はできました! :) – typecode

関連する問題