Android视图问题 - ImageView和两个TextView的

时间:2011-07-12 00:05:42

标签: android view textview imageview

我正在尝试将两个TextView放置在图像视图的右侧(请注意,这不在列表中)。我按照this示例工作,但当我开始增加TextView的文本大小和背景时会出现问题。尽管将高度设置为wrap_content,但顶部文本视图似乎仍在扩展。

看一下我不太懂的例子

  

机器人:layout_height = “机器人:ATTR / listPreferredItemHeight”

以及为什么布局高度设置为26dip

  

android:layout_height =“26dip”

这是我的xml,对layout_height进行了一些细微的更改,我认为这些更改

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content"

    android:padding="6dip">

    <ImageView android:id="@+id/icon" android:layout_width="wrap_content"
        android:layout_height="fill_parent" android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true" android:layout_marginRight="6dip"

        android:src="@drawable/icon" />

    <TextView android:id="@+id/secondLine" android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:layout_toRightOf="@id/icon"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true" android:background="@layout/rounded"
        android:textSize="20sp" android:singleLine="true" android:textColor="#FFFFFF"
        android:textStyle="bold" android:ellipsize="marquee" android:padding="10dip"
        android:layout_margin="5dip"
        android:text="Simple application that shows how to use RelativeLayout" />

    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:background="@layout/rounded"
        android:layout_toRightOf="@id/icon" android:textSize="20sp"
        android:singleLine="true" android:textColor="#FFFFFF"
        android:textStyle="bold" android:layout_alignParentRight="true"
        android:layout_alignParentTop="true" android:layout_above="@id/secondLine"
        android:padding="10dip" android:layout_margin="5dip" android:gravity="center_vertical"
        android:text="My Application" />

</RelativeLayout>

这是结果图像???

enter image description here

任何帮助都将不胜感激。

我偶然发现了似乎有效的this post

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:padding="6dip">
    <ImageView android:id="@+id/Icon" android:layout_margin="5dip"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_centerVertical="true" android:src="@drawable/addphoto" />
    <TextView android:id="@+id/topLine" android:layout_height="wrap_content"
        android:layout_width="fill_parent" android:layout_margin="4dip"
        android:layout_toRightOf="@+id/Icon" android:background="@layout/rounded"
        android:padding="10dip" android:textSize="20sp" android:singleLine="true"
        android:textColor="#FFFFFF" android:textStyle="bold" android:text="Name" />
    <TextView android:id="@+id/bottomLine" android:layout_height="wrap_content"
        android:layout_width="fill_parent" android:layout_margin="4dip"
        android:layout_toRightOf="@+id/Icon" android:layout_below="@+id/topLine"
        android:padding="10dip" android:background="@layout/rounded"

        android:textSize="20sp" android:singleLine="true" android:textColor="#FFFFFF"
        android:textStyle="bold" android:text="Address" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:2)

您会看到该结果,因为您在文本视图中具有以下属性:android:layout_alignParentTop="true"android:layout_above="@id/secondLine"

以上属性指定顶部必须与父级对齐,底部必须位于“secondline”组件的正上方。

我删除了上述两个属性,并对您的布局进行了一些更改,以达到我认为您想要的效果。请参阅下面的布局。我希望这种布局能达到你想要的目的。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"

android:padding="6dip">

<ImageView
    android:id="@+id/icon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginRight="6dip"

    android:src="@drawable/icon" />

<TextView
    android:id="@+id/secondLine"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@id/icon"
    android:layout_below="@+id/text"
    android:layout_alignParentRight="true"
    android:textSize="20sp"
    android:singleLine="true"
    android:textColor="#FFFFFF"
    android:textStyle="bold"
    android:ellipsize="marquee"
    android:padding="10dip"
    android:layout_margin="5dip"
    android:text="Simple application that shows how to use RelativeLayout" />

<TextView
    android:id="@+id/text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@id/icon"
    android:layout_alignBaseline="@id/icon"
    android:textSize="20sp"
    android:singleLine="true"
    android:textColor="#FFFFFF"
    android:textStyle="bold"
    android:padding="10dip"
    android:layout_margin="5dip"
    android:gravity="center_vertical"
    android:text="My Application" />