2

FrameLayout 的 layout_weight 是 0.13 但看起来比它大得多。为什么?很多推荐都是 android:layout_height="0dp",但它没有帮助。

<?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>
4

4 回答 4

2

认为这可能是因为 FrameLayout 的兄弟姐妹都没有重量。尝试向您的内部 LinearLayout 添加权重(可能是 0.87),看看是否能解决问题。

于 2013-02-15T21:57:21.753 回答
1

Sorry, looks like it's IntelliJ IDEA's preview bug. All is good on the device. Thanks all.

于 2013-02-17T10:36:27.457 回答
0

我已经尝试过您的布局,并且在为兄弟 LinearLayout 设置了 0.87 的权重和 0dp 的 layout_height 之后,它对我来说效果很好。也许您在 FrameLayout 中为内部 TextView 设置的尺寸太大了?

于 2013-02-15T22:05:41.187 回答
0
android:textSize="@dimen/header_size"

我认为因为这个太大所以它迫使你 FrameLayout 比它应该大

于 2013-02-16T00:23:53.907 回答