2

我有下面的XML:按鈕寬度不匹配父機器人

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" > 
    <TextView 
    android:id="@+id/text_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="center_horizontal|center_vertical" 
    android:layout_marginTop="20dip" 
    android:text="Fragment1" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textSize="30dip" /> 

    <Button 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Button1"/> 


<GridView 
     android:id="@+id/gridview" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent"overla 
     android:columnWidth="90dp" 
     android:numColumns="auto_fit" 
     android:verticalSpacing="10dp" 
     android:horizontalSpacing="10dp" 
     android:stretchMode="columnWidth" 
     android:gravity="center"/>        

     <Button 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Button1"/> 
</LinearLayout> 

的按鈕1用於切換網格視圖的可見性。但是,當網格視圖不可見時,按鈕不會填滿屏幕。他們佔據了一半的屏幕。當網格視圖可見時,按鈕將按照我的需要佔據所有屏幕。我一直無法理解這種奇怪的行爲。

回答

5

嘗試改變Linear layoutmatch_parent

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical" > 
+0

哦對不起,我已將寬度和高度都更改爲match_parent。它沒有區別:( – Namratha

+0

只嘗試寬度= match_parent和高度= wrap_content – Nermeen

+0

我試過了,仍然沒有運氣。 – Namratha

0

這是發生,因爲你給的LinearLayout的寬度WRAP_CONTENT的寬度。您必須將LinearLayout的寬度定義爲fill_parent或match_parent。

0

你的button1對齊你的text_view。

因此,嘗試添加簡單的視圖與高度1dp在您的父級佈局的頂部,並使其匹配寬度的寬度。

就是這樣,當這樣的事情發生時。