0

我的应用程序中有这个布局,问题是,ImageView它的 IDoverlay没有显示在其他布局上,当我使用 Android SDK Hierarchy 查看器工具检查布局时,ImageView高度为 0,位于底部布局。我错过了什么?或者是什么原因?

谢谢。

注意:Button当我在相同条件下用 a 替换该视图时,不会出现此问题。但它与View, 或一起出现ImageView

编辑:我使用提到ImageView使整个视图有点偏红,我将它用作一个ListView项目。

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

    <TextView
        android:id="@+id/label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/image" />

    <ImageView
        android:id="@id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"/>

    <ImageView
        android:id="@+id/overlay"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:background="#77ff0000" />

</RelativeLayout>
4

4 回答 4

1

这就是我在您的 xml 中看到的(带有虚拟文本和图像)

在此处输入图像描述

1.) 这是你想要的吗?如果你没有看到这个,我会感到惊讶

2.)如果这形成了您的单个列表项 xml,那么在您的主列表 xml 中确保您将其作为参数

android:layout_width="fill_parent"
android:layout_height="wrap_content"

或者您可能看不到该项目的边缘(文本和图像,您可能只看到红色覆盖,或者文本和图像可能重叠)

编辑:

如果这是您想要的 - 以便列表项现在形成一个类似状态的列表项,那么

在此处输入图像描述

将您的代码修改为

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

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:src="@drawable/panda" />

    <TextView
        android:id="@+id/label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Stack Overflow"
        android:textColor="#ffffff" />


    <ImageView
        android:id="@+id/overlay"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/image"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:background="#77ff0000" />


</RelativeLayout>

在运行时将图像和文本更改为您想要的

于 2012-10-26T05:29:08.280 回答
1

<TextView
    android:id="@+id/label"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@+id/image" />

<ImageView
    android:id="@+id/image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"/>

<ImageView
    android:id="@+id/overlay"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:background="#77ff0000" />

在 imageview 中,您不能将所有对齐类型一起分配 [1].top 与右或左 [2].bottom 与右或左。

于 2012-10-25T12:15:20.410 回答
0

我想你需要做的是android:layout_alignParentCenter="true" 而不是

android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"

@注意:一切都在 View 下,它是父类,无论是 Button 还是 ImageView

于 2012-10-25T12:11:18.943 回答
-1

imageView 的高度为 0,因为您没有设置任何源。修复这些错误你可以试试这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
    android:id="@+id/image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"/>

<TextView
    android:id="@+id/label"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@+id/image" />

<ImageView
    android:id="@+id/overlay"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="#77ff0000" />

于 2012-10-25T12:15:04.307 回答