相对布局问题

时间:2014-03-07 09:55:08

标签: android relativelayout

您好我的相对布局有问题,如果有人可以给我建议,我会很感激,因为我尝试了多种方式,我的地图片段似乎保持相同的大小。

这是我的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    
android:layout_width="fill_parent"    
android:layout_height="fill_parent" 
android:background="@color/BlanchedAlmond">  

<ImageButton
    android:id="@+id/stopActivityButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="50dp"
    android:layout_marginTop="257dp"
    android:onClick="endActivity"
    android:background="@drawable/stopbutton" />

<fragment        
    android:id="@+id/map"  
    android:layout_toRightOf="@id/stopActivityButton"      
    android:name="com.google.android.gms.maps.MapFragment"        
    android:layout_width="wrap_content"        
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"/> 

<TextView        
    android:id="@+id/tvActivityTitle"        
    android:layout_width="fill_parent"        
    android:layout_height="wrap_content"         
    android:textSize="32sp" 
    android:layout_toLeftOf="@+id/map"
    android:text="@string/activityTitle"
    android:gravity="left"/>

<TextView        
    android:id="@+id/tvActivity"        
    android:layout_width="fill_parent"       
    android:layout_height="wrap_content"         
    android:textSize="15sp" 
    android:layout_toLeftOf="@+id/map"
    android:layout_below="@+id/tvActivityTitle"
    android:gravity="center"/>

  <TextView        
    android:id="@+id/tvActivityConfidenceTitle"        
    android:layout_width="fill_parent"        
    android:layout_height="wrap_content"         
    android:textSize="32sp" 
    android:layout_toLeftOf="@+id/map"
    android:layout_below="@+id/tvActivity"
    android:text="@string/tvActivityConfidenceTitle"
    android:gravity="left"/>

<TextView        
    android:id="@+id/tvActivityConfidence"        
    android:layout_width="fill_parent"        
    android:layout_height="wrap_content"         
    android:textSize="15sp" 
    android:layout_toLeftOf="@+id/map"
    android:layout_below="@+id/tvActivityConfidenceTitle"
    android:gravity="center"/>

<TextView        
    android:id="@+id/tvDurationTitle"        
    android:layout_width="fill_parent"        
    android:layout_height="wrap_content"         
    android:textSize="32sp" 
    android:layout_toLeftOf="@+id/map"
    android:layout_below="@+id/tvActivityConfidence"
    android:text="@string/tvDurationTitle"
    android:gravity="left"/> 

 <TextView        
    android:id="@+id/tvDuration"        
    android:layout_width="fill_parent"        
    android:layout_height="wrap_content"         
    android:textSize="15sp" 
    android:layout_toLeftOf="@+id/map"
    android:layout_below="@+id/tvDurationTitle"
    android:gravity="center"/> 

 <Chronometer 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/chrono"
    android:visibility="gone"
    android:layout_below="@+id/tvDuration"/>

  <TextView        
    android:id="@+id/tvDistanceTitle"        
    android:layout_width="fill_parent"        
    android:layout_height="wrap_content"         
    android:textSize="32sp" 
    android:layout_toLeftOf="@+id/map"
    android:layout_below="@+id/chrono"
    android:text="@string/tvDistanceTitle"
    android:gravity="left"/>
</RelativeLayout>

此刻看起来像是这样:

enter image description here

但我希望它看起来像这样:

enter image description here

2 个答案:

答案 0 :(得分:1)

使用此功能。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff0000"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="4"
    android:orientation="horizontal" >

    <RelativeLayout
        android:id="@+id/rel"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.2"
        android:background="#000000" >

        <TextView
            android:id="@+id/tvActivityTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:text="activityTitle"
            android:textSize="32sp" />

        <TextView
            android:id="@+id/tvActivity"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tvActivityTitle"
            android:gravity="center"
            android:textSize="15sp" />

        <TextView
            android:id="@+id/tvActivityConfidenceTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tvActivity"
            android:gravity="left"
            android:text="tvActivityConfidenceTitle"
            android:textSize="32sp" />

        <TextView
            android:id="@+id/tvActivityConfidence"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tvActivityConfidenceTitle"
            android:gravity="center"
            android:textSize="15sp" />

        <TextView
            android:id="@+id/tvDurationTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tvActivityConfidence"
            android:gravity="left"
            android:text="tvDurationTitle"
            android:textSize="32sp" />

        <TextView
            android:id="@+id/tvDuration"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tvDurationTitle"
            android:gravity="center"
            android:textSize="15sp" />

        <Chronometer
            android:id="@+id/chrono"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tvDuration"
            android:visibility="gone" />

        <TextView
            android:id="@+id/tvDistanceTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/chrono"
            android:gravity="left"
            android:text="tvDistanceTitle"
            android:textSize="32sp" />
    </RelativeLayout>

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

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="2"
    android:background="#c0c0c0"
    android:orientation="horizontal" >
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_gravity="center"
    android:layout_weight="4"
    android:background="#c0c0c0"
    android:gravity="center"
    android:orientation="horizontal" >

    <ImageButton
        android:id="@+id/stopActivityButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="16dp"
        android:background="@drawable/ic_launcher"
        android:onClick="endActivity" />
</LinearLayout>

</LinearLayout>

答案 1 :(得分:0)

第二张图片真的很小,但我想你想在你的活动中添加一些按钮(Facebook,Twitter,...)?

您可以在布局中添加另一个RelativeLayout / LinearLayout并在按钮内添加。设置layout_alignmentParentBottom=true

希望这能帮到你!