0

我想用一些图像来提供帮助。每个图像将用于一个活动的位置。我在可绘制目录中有图像,并使用不同配置的别名来引用它们。图片的扩展名是png。

在 UI 设计器中显示图像,但不在运行时显示。它显示白色视图

我的布局

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

    <View
        android:id="@+id/help_img_screen"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:background="@drawable/todays_reminders_help"
        android:contentDescription="@string/content_description" />

    <CheckBox
        android:id="@+id/help_chx_dont_show"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/dont_show_help" />

</LinearLayout>

我的可绘制 todays_reminders_help.xml

    <?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:gravity="fill"
    android:src="@drawable/todays_reminders_activity_help" >

</bitmap>

在设计师

在运行时

我在运行时得到白色视图而不是我引用的图像?这发生在我的测试设备上。

但是,当我在模拟器上测试时,它没有问题

4

1 回答 1

2

您可以尝试几件事: 1. 在您的todays_reminders_help.xml中,尝试将android:layout_widthand设置android:layout_heightmatch_parent 2. 只是为了确保事情是否按预期工作,您可以通过为带有 id 的 View 设置非零高度来进行测试help_img_screen。即替换

<View
    android:id="@+id/help_img_screen"
    android:layout_height="0dip"
    android:layout_weight="1"
 ..../>

<View
    android:id="@+id/help_img_screen"
    android:layout_height="100dp"
 ..../>

看看是否有帮助。如果它有效,那么您需要弄清楚为什么 layout_weight 不起作用 - 您可能必须使用层次结构查看器工具来查看它为什么不起作用。

最后,我建议您以不同的方式解决此问题 -ViewImageViewJava 代码中实时生成和设置图像 src 或背景,基于活动/上下文动态设置。您可以完全避免使用另一个布局文件todays_reminders_help.xml

希望这可以帮助。

于 2013-09-23T15:26:22.810 回答