我想要显示一个与设备的整个宽度匹配的ImageView,我意识到这样:
<ImageView
android:id="@+id/home_bar_newvault"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:scaleType="centerCrop"
android:layout_alignParentBottom="true"
android:src="@drawable/home_bar" />
home_bar是一个PNG图像文件,其大小如下:2399x254。当我选择查看UI的图形布局时,它会在活动的底部正确显示图像视图。但是,当我在设备上启动应用程序时,它根本不会显示Imageview。
答案 0 :(得分:54)
我遇到了同样的问题,它只在Android Studio 2.2的“设计”标签中显示。
我所做的工作是将文本选项卡中指定的自动键(通过拖放ImageView填充)从app:srcCompat="@drawable/logo"
更改为android:src="@drawable/logo"
,以使其显示在模拟器和设备,例如
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/logo"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="75dp"
android:id="@+id/logoImageView"
android:scaleType="fitXY"
android:scaleX="1.5"
android:scaleY="1.5" />
答案 1 :(得分:16)
好吧我试过改变图像的分辨率(将其切成两半使其成为1000x130),并以某种方式解决了问题。我认为Android无法直接呈现这样的大图像?我不知道,如果您对该主题有更多了解,请不要犹豫回复!无论如何,缩小图像是有效的。
答案 2 :(得分:7)
你可以使用:
android:background="@drawable/home_bar"
而不是:
android:src="@drawable/home_bar"
答案 3 :(得分:4)
如果图像太大,请使用drawable-nodpi
中的res
文件夹。
答案 4 :(得分:0)
我有一个问题,三星手机没有显示我的可绘制,但它在另一部手机上工作正常。图片没有任何大尺寸或其他异常。
要解决此问题,我只需将我的图片资源放入可绘制的子文件夹中,而不是将其放在主要的drawable文件夹中。例如从res / drawable到res / drawable-mdpi为我工作。如果您有一张照片用于没有特定dpi的所有内容,请将其放入res / drawable-nodpi。 Here's关于dpi文件夹的更多信息。
答案 5 :(得分:0)
以上方法均无济于事,这是一个很大的形象,找到了此解决方案: 在您的清单文件中
<application
//this solve it for me.
android:hardwareAccelerated="false"
// Add this if the previuos line didn't solve tge problem
android:largeHeap="true"
android:theme="@style/AppTheme">
为我解决。
希望它可以帮助某人。
答案 6 :(得分:0)
答案 7 :(得分:0)
对我来说,问题是我在使用
tools:src=...
而不是
android:src=...
它会自动生成,以尝试使用已经存在的模板图像。
答案 8 :(得分:0)
就我而言, 我更改图像的比例类型
android:scaleType="fitXY"
答案 9 :(得分:0)
(以下回答基于Android Studio最新开发(2021))
您应该使用 androidx.appcompat.widget.AppCompatImageView
和 app:srcCompat
来最大化兼容性。
当您创建新的默认项目时应包含实现,因为这在某种程度上类似于 ConstraintLayout 案例。
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/home_bar_newvault"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:scaleType="centerCrop"
android:layout_alignParentBottom="true"
app:srcCompat="@drawable/home_bar" />