2013-02-15 61 views
2

FrameLayout的layout_weight爲0.13,但看起來好像比它大得多。爲什麼?很多reccomendations是android:layout_height =「0dp」,但它沒有幫助。Android佈局:即使寬度/高度爲0,重量也不起作用

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" android:background="@drawable/background" android:weightSum="1"> 

    <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" android:background="@drawable/bar_background" android:layout_weight="0.13"> 
     <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/header" 
       android:id="@+id/textView" android:layout_gravity="center" android:textSize="@dimen/header_size" 
       android:textColor="#ffffff" android:layout_marginTop="@dimen/header_margin_top" /> 
    </FrameLayout> 
    <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 
     <EditText 
       android:inputType="text" 
       android:layout_width="match_parent" 
       android:layout_height="48dp" 
       android:id="@+id/textEdit"/> 
     <ImageView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/imageView" android:layout_gravity="center" android:src="@drawable/separator" 
       android:scaleType="fitXY"/> 
     <ListView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/listView" android:layout_gravity="center" android:choiceMode="singleChoice" 
       android:scrollingCache="false" android:cacheColorHint="#00000000"/> 
    </LinearLayout> 
</LinearLayout> 

回答

1

對不起,看起來像它的IntelliJ IDEA的預覽錯誤。設備上的所有內容都很好。謝謝大家。

2

認爲這可能是因爲沒有FrameLayout裏的兄弟姐妹有一個權重。嘗試添加一個權重(可能是.87)到你的內部LinearLayout,看看是否解決了這個問題。

+0

我試過了。也沒有幫助。 – Vladiator 2013-02-15 21:59:59

+0

當您這樣做時,您是否還將內部LinearLayout的高度設置爲0dp? – berwyn 2013-02-15 22:01:41

+0

是的,我做過了。 – Vladiator 2013-02-15 22:06:44

0

我試過你的佈局,設置0.87的重量和0dp的layout_height到兄弟LinearLayout之後,它對我來說工作正常。也許您在FrameLayout中設置爲內部TextView的尺寸太大?

0
android:textSize="@dimen/header_size" 

我想因爲這個過大,因此迫使你的FrameLayout要大於它應該是

+0

取消設置邊距和textSize - 文字變得非常小,但FrameLayout的高度沒有變化。 – Vladiator 2013-02-16 16:59:48