0

我有一个画廊项目,其中RelativeLayout包含一个ImageView和一个TextView。(见下面我的绘画杰作)

LayoutProblem 巧妙的可视化

在活动开始时,一个画廊项目占据了屏幕的所有空间,使图像在左侧看起来丢失并且文本视图(蓝色横幅)太长了。我想根据图像宽度将几个项目彼此相邻。

图像在从服务器加载后被替换,所以我不知道当我开始/布局活动时图像到底有多宽。

我现在想RelativeLayout在图像加载并放入视图后将其宽度调整为图像的宽度。

我已经使用getLayoutParams()了 Gallery 的 ListAdapter 中的方法,但这会导致 ANR 并且根本没有结果。

这是我的画廊项目的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/item_wrap"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="@dimen/item_margin"
        >

    <ImageView
            android:id="@+id/item_image"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:adjustViewBounds="true"
            />

    <TextView
            android:id="@+id/item_name"
            android:layout_width="fill_parent"
            android:layout_height="@dimen/item_title_height"
            android:layout_alignParentBottom="true"
            android:text="Some longer title so you can see how the text behaves"
            android:singleLine="true"
            android:gravity="left|center_vertical"
            android:paddingLeft="10dip"
            android:background="@drawable/title_gradient_grey"
            />

</RelativeLayout>

插入图像后如何重新布局有什么帮助吗?

4

1 回答 1

0

您应该在从服务器下载后调整图像大小。这是必要的,因为您正在下载的图像可能更大,并将 ImageView 的属性设置为

<ImageView ... android:scaleType="fitXY"这将导致您进行扩展。

另一个选择是

<ImageView ... android:scaleType="center"如果你不想缩放。

于 2012-10-04T13:09:46.353 回答