我正在开发一款游戏。我想在屏幕上显示一张图片。它应该填满屏幕宽度的90%(约90%)。 我不希望系统调整图片大小(我不喜欢它的质量) 我想把图片放在一边,不需要重新缩放/调整大小。
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/myPicture"/>
这就是我希望它在不同屏幕上显示的方式:
在这种情况下,我有两种尺寸的资源图像(第一个宽度:720px,第二个和第三个为1440px)。 (第3个是平板电脑)
我知道如果我将它们放入不同的drawables文件夹中,那就太好了
对于第一个:drawables-mdpi
对于第二个:drawables-xxdpi
对于第三个:drawable-mdpi-xlarge
唯一的问题是:我的apk会比它更大(第二张图片是重复的,因为它的副本位于不同的文件夹中)
我的问题是: 如何在不重复且易于维护的情况下完成这项工作?
我的谷歌搜索结果
不要使用不同的可绘制文件夹,我应该这样使用它:
/可绘/
然后我可以为每种屏幕类型制作不同的布局,而apk不会更大。 这个问题是:维护工作太多了
更轻松的方式:
使用refs.xml
http://blog.vogella.com/2013/08/13/using-xml-layout-references-in-android/
/values-mdpi-xlarge/refs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="drawable" name="myPicture">@drawable/myPicture_1440</item>
</resources>
(这是第3个屏幕)
这样我只能有一个布局,并且将使用大小合适的可绘制资源。
唯一的问题是:
由于这些名字,我仍然需要维护很多
我使用photoshop插件(Cut&#39; n&#39; Slice Me),在4种不同的文件夹中以4种不同的尺寸输出4种基本密度的抽屉。
我知道这不是常规方式,我应该如何使用该系统,但如果你知道一些更简单的方法,请尽量回答我的问题。
我认为它应该像这样工作:
我可以创建2个不同的文件夹,我可以为整个文件夹创建一个引用,从中获取可绘制的资源。 (在一个文件夹中,名称将相同(myPicture.png)
注意:
在我的例子中提到了720px和1440px。在真正的开发中,它不会成为双倍,所以调整大小会使它看起来更糟。
TLDR:
如果我的drawables-xxdpi和drawables-mdpi-xlarge相同,我怎么能让系统使用好资源而不复制文件夹?