0

我对 Linearlayout 背景有疑问。问题是我将 LinearLayout 背景设置为图像。假设图像大小为 300 像素高度。这个 LinearLayout 包含其他视图,比如说行。一行是 100 像素的高度。问题是,当我向此 LinearLayout 添加一行时,行仅填充 300 像素的 100 像素。问题是是否可以根据子视图的发生量来拉伸或缩放 LinearLayout?

线性布局的代码:

    <LinearLayout
        android:id="@+id/companies_list_holder"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="10dp"
        android:layout_marginLeft="10dp"
        android:background="@drawable/firm_list_background"
        android:orientation="vertical" />
4

2 回答 2

0

您可以先获取内行的高度,然后使用 LayoutParams 将此高度设置为 LinearLayout 的高度

于 2013-07-30T09:43:44.137 回答
0

你的问题不是很清楚,所以:

首先,当您将图像设置为布局的背景时,它会缩放以适应或覆盖布局的整个大小。

做同样的想法的另一种方法是在你的布局中添加一个图像视图android:layout_width="match_parent" android:layout_height="match_parent"

并将其背景资源设置为android:scaleType:"fitXY"

所以: 1:你已经将你的 Companies_list_holder 高度设置为 wrap_content 所以如果一行是 100px 高度。它也有 100px 的高度,所以背景被缩放以适合你的 100px 高度布局。

2:如果您将布局设置为 300dp 高度,它将被缩放以适合您的 300dp 布局等,然后您可以添加 100dp 高度的子行。

最后我认为,如果你想在布局中添加多个未知数量的行,最好的解决方案是像这个例子中的 ListView: http ://www.mkyong.com/android/android-listview-example/

并且您的 listView 将处理许多想法,例如滚动等

于 2013-07-26T19:10:40.317 回答