图像未显示在 UI 中

发布于 2024-11-04 10:13:05 字数 865 浏览 7 评论 0原文

我在 3 个文件夹 res/drawable-hdpi/mdpi/ldpi 600*600 中有一个图像(分辨率为 600*600),并且我有这个 XML 文件来显示文本视图和图像:

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

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/sipLabel"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />
  <ImageView android:id="@+id/connected" android:src="@drawable/connected" android:layout_below="@id/sipLabel" 
  android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_weight="0.35" android:gravity="center" 
         />
        </LinearLayout>

可能会出现什么问题? 感谢您的帮助。

I have an image in the 3 folders res/drawable-hdpi/mdpi/ldpi 600*600 as resolution) and i have this XML file to show a textview and the image:

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

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/sipLabel"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />
  <ImageView android:id="@+id/connected" android:src="@drawable/connected" android:layout_below="@id/sipLabel" 
  android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_weight="0.35" android:gravity="center" 
         />
        </LinearLayout>

What could br the problem?
Thank you for your help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

你在我安 2024-11-11 10:13:05

主要问题是您在 LinearLayout 中的第一个标签:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/sipLabel"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />

由于 layout_height 设置为 fill_parent,此 TextView 垂直填充 LinearLayout,没有留下任何空间图像。尝试将 layout_height 更改为 wrap_content

另外,还有其他一些事情:

  • 您正在使用 android:layout_below="@id/sipLabel",但这仅适用于relativelayout。所以这个属性被默默地忽略了。
  • 虽然您可以选择任何您想要的 layout_weight,但 0.35 是相当任意的。由于它是 LinearLayout 中唯一具有权重的子级,因此它将接收所有额外的垂直空间。
  • 您不需要在 TextView 标记上包含 xmlns:android="http://schemas.android.com/apk/res/android"

The main issue is your first tag in the LinearLayout:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/sipLabel"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />

Since layout_height is set to fill_parent this TextView is filling the LinearLayout vertically, leaving no room for the image. Try changing layout_height to wrap_content.

Also, a couple of other things:

  • You're using android:layout_below="@id/sipLabel", but this only works in a RelativeLayout. So this attribute is being silently ignored.
  • While you can choose any layout_weight you want, 0.35 is pretty arbitrary. Since it's the only child in the LinearLayout with weight, it will receive all of the extra vertical space.
  • You don't need to include the xmlns:android="http://schemas.android.com/apk/res/android" on your TextView tag.
傲性难收 2024-11-11 10:13:05

我认为 layout_below 仅适用于RelativeLayouts。另外, layout_weight="0.35" 看起来很可疑,我不认为这意味着你认为的意思。我认为它必须有一个整数值。

I think layout_below only applies for RelativeLayouts. Also, that layout_weight="0.35" looks mighty suspect, I don't think it means what you think it means. I think it must have an integer value.

阳光下的泡沫是彩色的 2024-11-11 10:13:05

由于您的 TextView 的高度为 fill-parent,并且 LinearLayout 不会滚动(除非放入 ScrollView code> 你看不到下面的部分),你的 TextView 占据了 Activity 的整个屏幕,而它下面的 ImageView 是不可见的。

因此,您可以

  • 将整个 LinearLayout 放入
    ScrollView,向下滚动查看
    您的图像,或者
  • 如果您的目标是将图像显示在
    屏幕底部,以及
    上面的整个地方都应该被占据
    TextView,然后是
    `RelativeLayout 将是最好的
    选项。

更新
一个可行的 RelativeLayout 解决方案是

<?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="fill_parent">
    <TextView android:id="@+id/sipLabel" android:text="@string/loremipsum1"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_alignParentTop="true" />
    <ImageView android:id="@+id/connected" android:src="@drawable/connected"
        android:layout_width="wrap_content" android:layout_height="wrap_content" 
        android:layout_below="@id/sipLabel" android:layout_alignParentBottom="true" />
</RelativeLayout>

Since your TextView has a height of fill-parent, and the LinearLayout is not scrolling (unless is put into a ScrollView you can't see the lower parts), your TextView takes up the whole screen of the Activity, and the ImageView being under it is not visible.

So you can either

  • put your whole LinearLayout into a
    ScrollView, and scroll down to see
    your image, or
  • if your goal is to show the image at
    the bottom of the screen, and the
    whole place above it should be taken
    be the TextView, then a
    `RelativeLayout would be the best
    option.

Update
a working RelativeLayout soulution would be

<?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="fill_parent">
    <TextView android:id="@+id/sipLabel" android:text="@string/loremipsum1"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_alignParentTop="true" />
    <ImageView android:id="@+id/connected" android:src="@drawable/connected"
        android:layout_width="wrap_content" android:layout_height="wrap_content" 
        android:layout_below="@id/sipLabel" android:layout_alignParentBottom="true" />
</RelativeLayout>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文