LinearLayout中的Android ImageView位置

时间:2012-05-13 18:52:19

标签: android imageview android-linearlayout

我想在ListView的右侧显示一个小图片,但是当我尝试将TextViews推出“app”时,它就不可见了。我曾尝试过引力,但我似乎无法做到正确。可以按照我想要的方式放置它,还是必须在RelativeLauoyt中进行? 感谢

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
>

<ImageView
    android:id="@+id/img"
    android:layout_width="80dip"
    android:layout_height="80dip" 
    android:layout_marginLeft="5dp" 
    android:layout_marginTop="5dp" 
    android:layout_marginBottom="5dp" 
    android:scaleType="centerCrop"/>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:paddingLeft="10dp"
    android:layout_width="fill_parent"
    android:layout_height="80dip">
    <TextView
        android:layout_width="fill_parent"
        android:id="@+id/title"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:textColor="#004b23"
        android:textSize="16sp"
        android:maxLines="2"
        android:ellipsize="end"
        android:layout_marginRight="30sp"/>
    <TextView
        android:layout_width="fill_parent"
        android:id="@+id/detail"
        android:textColor="#cfae78"
        android:layout_height="wrap_content"/>
    <TextView
        android:layout_width="fill_parent"
        android:textColor="#cfae78"
        android:id="@+id/footer"
        android:layout_height="wrap_content"/>
</LinearLayout>

这是我想放在ListView右侧的ImageView。

<ImageView
    android:id="@drawable/day"
    android:layout_width="40dip"
    android:layout_height="40dip"
    android:layout_marginBottom="5dp"
    android:layout_marginRight="5dp"
    android:layout_marginTop="5dp"
    android:scaleType="centerCrop" 
    android:layout_gravity="right|center_vertical"/>

    </LinearLayout>

2 个答案:

答案 0 :(得分:0)

我总是建议使用RelativeLayout(但这只是个人偏好)。

使用RelativeLayout,您需要:

Listview :(将父对齐,左对齐ImageView) ImageView :(对齐父权,宽度:包装内容)

那应该达到你想要的效果。

答案 1 :(得分:0)

您的“内部”线性布局具有属性layout_width="fill_parent",这将导致您的内部线性布局占用所有剩余的水平空间。要使其工作,请将线性布局的layout_width属性更改为较小的值,例如150dip。

layout_width="150dip"

此外,它不是你的textView推出你的图像,而是你的线性布局的layout_width属性

P.S我还建议您使用相对布局。