2016-09-15 45 views
2

我創建了XML以下DialogFragment:爲什麼我的片段底部不顯示?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@id/mainLayout" 
       xmlns:ads="http://schemas.android.com/apk/res-auto" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:paddingLeft="5dp" 
       android:paddingRight="0dp" 
       android:orientation="vertical" > 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@id/quoteLayout" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:paddingLeft="5dp" 
        android:paddingRight="0dp" 
        android:orientation="vertical" > 
    </LinearLayout> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@id/buttonLayout" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:paddingLeft="5dp" 
        android:paddingRight="0dp" 
        android:orientation="vertical" > 
     <Button 
      android:id="@id/getMoreButton" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:text="@string/getMore" 
      android:onClick="getMore" /> 
    </LinearLayout> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@id/adLayout" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:paddingLeft="5dp" 
        android:paddingRight="0dp" 
        android:orientation="vertical" > 
     <com.google.android.gms.ads.AdView 
      android:id="@+id/adView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_alignParentBottom="true" 
      ads:adSize="BANNER" 
      ads:adUnitId="@string/banner_ad_unit_id"> 
     </com.google.android.gms.ads.AdView> 
    </LinearLayout> 
</LinearLayout> 

我一直在quoteLayout部分工作一起,並對其執行如我所願。現在我想用一個按鈕和一個廣告填充其他部分。

問題是沒有任何東西在mainLayout的其他部分顯示出來。屏幕的結尾是quoteLayout的結尾。

任何想法?

回答

3

將其方向設置爲vertical,但在您的線性佈局子項中,您的android:layout_height屬性爲match_parent填充了佈局。它應該是wrap_content或使用weights來更好地組織它看起來應該如何。至少,這對我來說看起來是錯誤的。嘗試換出match_parentwrap_content或使用weight屬性。請注意,如果您使用weight設置android:layout_height' to 0dp.`

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@id/mainLayout" 
      xmlns:ads="http://schemas.android.com/apk/res-auto" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:paddingLeft="5dp" 
      android:paddingRight="0dp" 
      android:orientation="vertical" > 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@id/quoteLayout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:paddingLeft="5dp" 
       android:paddingRight="0dp" 
       android:orientation="vertical" > 
</LinearLayout> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@id/buttonLayout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:paddingLeft="5dp" 
       android:paddingRight="0dp" 
       android:orientation="vertical" > 
    <Button 
     android:id="@id/getMoreButton" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:text="@string/getMore" 
     android:onClick="getMore" /> 
</LinearLayout> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@id/adLayout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:paddingLeft="5dp" 
       android:paddingRight="0dp" 
       android:orientation="vertical" > 
    <com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentBottom="true" 
     ads:adSize="BANNER" 
     ads:adUnitId="@string/banner_ad_unit_id"> 
    </com.google.android.gms.ads.AdView> 
</LinearLayout> 

0

您已設置您的報價佈局到另一個的LinearLayout也符合高度內MATCH_HEIGHT。您的按鈕佈局和adLayout只是在屏幕底部。

爲了解決這個問題,我會使用佈局權重,像這樣:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@id/mainLayout" 
       xmlns:ads="http://schemas.android.com/apk/res-auto" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:paddingLeft="5dp" 
       android:paddingRight="0dp" 
       android:orientation="vertical" > 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@id/quoteLayout" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="0.5" 
        android:paddingLeft="5dp" 
        android:paddingRight="0dp" 
        android:orientation="vertical" > 
    </LinearLayout> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@id/buttonLayout" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="0.3" 
        android:paddingLeft="5dp" 
        android:paddingRight="0dp" 
        android:orientation="vertical" > 
     <Button 
      android:id="@id/getMoreButton" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:text="@string/getMore" 
      android:onClick="getMore" /> 
    </LinearLayout> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@id/adLayout" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="0.2" 
        android:paddingLeft="5dp" 
        android:paddingRight="0dp" 
        android:orientation="vertical" > 
     <com.google.android.gms.ads.AdView 
      android:id="@+id/adView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_alignParentBottom="true" 
      ads:adSize="BANNER" 
      ads:adUnitId="@string/banner_ad_unit_id"> 
     </com.google.android.gms.ads.AdView> 
    </LinearLayout> 
    </LinearLayout> 

注意,我已經改變layout_height0dp並增加了一個layout_weight標籤。這個標籤可以使您的佈局根據輸入的值調整到高度的某個百分比。

您也可以使用wrap_content作爲身高。

相關問題