Android,布局图像和文本

时间:2012-10-22 15:25:43

标签: android android-layout layout android-linearlayout

我需要帮助才能让我的图像和文字布局起作用。

我希望图像缩放到我的TextView使用的高度。 我还希望将图像留给文本。 例如#是我的形象

# "My Text"

## "My long text
## is this here"

图像的结果将使图像保持方面。

我的代码现在是这样,基本布局工作但图像很大。

        <LinearLayout 
            android:id="@+id/packet_list_view_layout_subvehicle" android:layout_width="fill_parent"
            android:layout_weight="1" android:orientation="horizontal"
            android:gravity="left" android:layout_height="wrap_content">
            <ImageView 
                android:id="@+id/packet_list_view_layout_subvehicle_image"
                android:src="@drawable/packet"
                android:scaleType="fitCenter"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <TextView
                android:id="@+id/packet_list_view_layout_subvehicle_text"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="==================="
                />

编辑1

另一个尝试给我相同的结果。

        <LinearLayout
            android:id="@+id/packet_list_view_layout_subvehicle"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:orientation="horizontal"
            android:gravity="left"
            android:layout_height="wrap_content"
        >
            <ImageView
                android:id="@+id/packet_list_view_layout_subvehicle_image"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:scaleType="fitCenter"
                android:src="@drawable/packet" />
            <TextView
                android:id="@+id/packet_list_view_layout_subvehicle_text"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:text="TV's (20) to London"
                android:textAppearance="?android:attr/textAppearanceSmall" />
        </LinearLayout>

编辑2

我现在找到了一个半工作代码,这里的问题是图像的宽度是原点宽度,而不是新的尺度。

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:id="@+id/packet_list_view_layout_subvehicle"
        >
            <ImageView
                android:id="@+id/packet_list_view_layout_subvehicle_imageAA"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:src="@drawable/packet"
                />

            <TextView
                android:id="@+id/packet_list_view_layout_subvehicle_text"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center|left"
                android:text="TV's (20) to London"
                android:textAppearance="?android:attr/textAppearanceSmall" />
        </LinearLayout>

1 个答案:

答案 0 :(得分:0)

我终于找到了一种工作方式,不是很好,但为我工作。

我的代码现在

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:id="@+id/packet_list_view_layout_subvehicle"
        >
            <mypacket.MyImageView
                android:id="@+id/packet_list_view_layout_subvehicle_imageAA"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:src="@drawable/packet"
                />

            <TextView
                android:id="@+id/packet_list_view_layout_subvehicle_text"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center|left"
                android:text="TV's (20) to London"
                android:textAppearance="?android:attr/textAppearanceSmall" />
        </LinearLayout>

mypacket.MyImageView就是这段代码。

public class MyImageView extends ImageView {

    public MyImageView(Context context) {
        super(context);
    }
    public MyImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    public MyImageView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);

    }
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(heightMeasureSpec, heightMeasureSpec);
    }
}

编辑:在true中,我不使用这个,基于系统如何计算大小的一些错误,那个图像会更大然后需要,这将做文本扭曲到两条线。在最后,我使用普通的ImageView并设置修复hegth和withd。