2015-12-04 96 views
0

我試圖創建一個GUI - GridLayout 2行& 2列(您可以在圖像中看到)。我想按鈕寬度適合列(2)的寬度。但結果是溢出。GridLayout列中的Fit按鈕寬度Android

enter image description here

你有沒有得到過這樣的問題嗎?

這裏是我的代碼

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/frameLayout" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical"> 

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

<GridLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="top" 
    android:layout_marginLeft="15dp" 
    android:layout_marginRight="15dp" 
    android:layout_marginTop="15dp" 
    android:background="@drawable/round_corner_opacity_background" 
    android:columnCount="2" 
    android:rowCount="6"> 
    <!--Pick up--> 
    <ImageView 
     android:layout_column="0" 
     android:layout_gravity="center_vertical" 
     android:layout_margin="5dp" 
     android:layout_row="0" 
     android:layout_rowSpan="2" 
     android:src="@drawable/ic_ci_pick_up" /> 

    <TextView 
     style="@style/text_view_description" 
     android:layout_column="1" 
     android:layout_columnWeight="1" 
     android:layout_row="0" 
     android:text="@string/pick_up" /> 

    <Button 
     android:id="@+id/btnSelectPickUp" 
     style="@style/button_location" 
     android:layout_column="1" 
     android:layout_columnWeight="1" 
     android:layout_row="1" 
     android:maxLines="3" 
     android:singleLine="false" 
     android:text="@string/select_pick_up" /> 
    <!--Separator--> 
    <View 
     android:layout_width="match_parent" 
     android:layout_height="1dp" 
     android:layout_column="1" 
     android:layout_marginBottom="5dp" 
     android:layout_marginTop="5dp" 
     android:layout_row="2" 
     android:background="@color/primary" /> 
    <!--Drop off--> 
    <ImageView 
     android:layout_column="0" 
     android:layout_gravity="center_vertical" 
     android:layout_margin="5dp" 
     android:layout_row="3" 
     android:layout_rowSpan="2" 
     android:src="@drawable/ic_ci_drop_off" /> 

    <TextView 
     style="@style/text_view_description" 
     android:layout_column="1" 
     android:layout_columnWeight="1" 
     android:layout_row="3" 
     android:text="@string/drop_off" /> 

    <Button 
     android:id="@+id/btnSelectDropOff" 
     style="@style/button_location" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_column="1" 
     android:layout_columnWeight="1" 
     android:layout_row="4" 
     android:ellipsize="end" 
     android:singleLine="true" 
     android:text="@string/select_pick_up" /> 
    <!--ConfirmedBookings--> 
    <Button 
     android:id="@+id/btnShowConfirmedBookingsDialog" 
     style="@style/button_default" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_column="0" 
     android:layout_columnSpan="2" 
     android:layout_marginTop="15dp" 
     android:layout_row="5" 
     android:text="@string/confirmed_booking" /> 
</GridLayout> 

<Button 
    android:id="@+id/btnShowBookDialog" 
    style="@style/button_default" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center|bottom" 
    android:text="@string/book" /> 

謝謝

回答

0

你能後的一段代碼?你可以s you你的寬度來填充該按鈕的父項,而不是android:layout_columnWeight="1"

我會使用權重。有了這個,你可以在你設置了匹配父項的父項中指定你的寬度。

參考:Android Weights

同時檢查:Shrink and Stretch columns

+0

我插入我的代碼 –

+0

我用網格佈局 –

+0

我編輯我的答案編輯的職位。您應該使用標籤。還重構你的代碼。它看起來有點凌亂。 – SamuelD