图像未在布局预览中显示

时间:2019-08-28 13:48:59

标签: android android-layout imageview

我正在制作一个测验应用程序,并希望此灯泡图像始终存在。

我尝试在布局中添加一个ImageView,使其显示在预览中, 但是当我运行该应用程序时,没有显示图像。

我尝试从更改XML代码 app:srcCompat="@drawable/bulb"android:src="@drawable/bulb" (损坏了我的应用)

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:background="@color/colorPrimaryDark"
    android:orientation="vertical" >

    <ProgressBar
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/progress_bar"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:indeterminate="false" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/progress_bar"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:id="@+id/score"
        android:textColor="@color/colorText"
        android:textStyle="bold"
        android:textSize="25sp"
        android:text="@string/initial_score"
        android:padding="10dp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="50dp"
        android:id="@+id/question_text_view"
        android:gravity="center"
        android:padding="20dp"
        android:text="@string/question_1"
        android:textColor="@color/colorText"
        android:textStyle="bold"
        android:textSize="30sp" />

    **<ImageView
        android:id="@+id/bulbimage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="40dp"
        android:paddingTop="60dp"
        android:paddingRight="40dp"
        android:paddingBottom="50dp"
        app:srcCompat="@drawable/bulb"
        android:contentDescription=""/>**

    <LinearLayout
        android:layout_centerHorizontal="true"
        android:layout_above="@id/score"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="20dp"
        android:orientation="horizontal">

        <Button
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:id="@+id/true_button"
            android:text="@string/true_button"
            android:textColor="@color/colorText"
            android:textStyle="bold"
            style="@style/Base.Widget.AppCompat.Button.Borderless"
            android:background="@color/colorTrueButton"
            android:textSize="20sp" />

        <Button
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            style="@style/Base.Widget.AppCompat.Button.Borderless"
            android:id="@+id/false_button"
            android:text="@string/false_button"
            android:background="@color/colorFalseButton"
            android:textColor="@color/colorText"
            android:textStyle="bold"
            android:textSize="20sp"/>

    </LinearLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

  1. 检查图像是否在drawable文件夹中,而不是在drawable-21中。
  2. 尝试为图像添加高度和宽度(例如100dp)。
  3. 或者只是检查图像是否太大!

答案 1 :(得分:0)

如果代码中不存在语法错误,(在main.java文件或activity.XML文件中)->

仅减小所用图像的尺寸。 (通过裁剪或压缩)

详细逻辑-> 根据可用堆空间的不同,位图的最大大小会因设备而异。在装有Google Play的任何设备上,最少需要16 MB的堆空间。

应用程序的其余部分也都在相同的堆空间中运行,因此整个堆对于单个位图都不可用。

此外,位图的大小将根据颜色格式以及高度和宽度而变化。

最好的策略是仅将屏幕大小所需的位图大小加载到内存中,而不要加载更大的内容。