Android资源不会在运行时显示

时间:2013-09-22 15:00:38

标签: android xml android-layout bitmap android-drawable

我想要用于帮助的图片很少。每个图像将用于一个活动的位置。我有可绘制目录中的图像,并使用别名为不同的配置引用它们。图片是扩展名是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>

我的drawable 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>

at the designer

at run-time

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

然而,当我在模拟器上进行测试时,它没有任何问题

1 个答案:

答案 0 :(得分:2)

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

<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不起作用 - 你可能必须使用层次结构查看器工具来查看它为什么不起作用。

最后,我建议你以不同的方式解决这个问题 - 使View成为ImageView并实时地,即在Java代码中,您可以根据活动/上下文动态设置图像src或背景。您可以完全避免使用其他布局文件todays_reminders_help.xml

希望这有帮助。