Android studio 2.0 Preview 3b
您好,
我创建了以下布局,我想将其用作应用的背景。我正在使用layer-list
,我想在两个地方展示一碗豌豆。在预览中一切看起来都不错,但是当我在genymotion或一些廉价的中国设备上运行时,图像会在屏幕上延伸。但是,在Android AVD上,一切都很好,在我的Nexus 5(真实设备)上一切正常。
这就是我想要的,这就是它在AVD和Nexus 5中的显示方式。你可以看到没有问题。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient
android:centerX="0.5"
android:centerY="0.3"
android:endColor="#08e25b"
android:gradientRadius="300dp"
android:startColor="#b7e9c9"
android:type="radial" />
</shape>
</item>
<item
android:width="48dp"
android:height="48dp"
android:left="350dp"
android:top="400dp">
<bitmap android:src="@drawable/peas" />
</item>
<item
android:width="68dp"
android:height="68dp"
android:drawable="@drawable/peas"
android:left="-20dp"
android:top="480dp" />
</layer-list>
我已将peas.png
个文件放在drawable-nodpi
中,只需在layer-list
当我使用genymotion和一些便宜的智能设备时,我得到以下内容:
Just quick summary. Nexus 5 real device and AVD devices works ok Genymotion and cheap smart devices doesn't display correctly
我对我应该相信的事感到困惑。我也试图使用位图,看看是否会产生任何影响。
非常感谢任何建议。
答案 0 :(得分:32)
按如下所示更新图层列表
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
<gradient
android:centerX="0.5"
android:centerY="0.1"
android:endColor="#08e25b"
android:gradientRadius="300dp"
android:startColor="#b7e9c9"
android:type="radial" />
</shape>
</item>
<item
android:width="48dp"
android:height="48dp"
android:bottom="68dp"
android:right="-20dp">
<bitmap
android:gravity="bottom|right"
android:src="@drawable/peas" />
</item>
<item
android:height="68dp"
android:left="-20dp"
android:bottom="-20dp"
android:width="68dp">
<bitmap
android:gravity="bottom|left"
android:src="@drawable/peas" />
</item>