在Android上使用图像精灵

前端之家收集整理的这篇文章主要介绍了在Android上使用图像精灵前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个形象(588×449)精灵集合不同的团队徽标.在 Android中,我有相应的ImageView显示
<ImageView android:id="@+id/image_team_logo" 
            android:src="@drawable/teamheadeRSSprite" 
            android:layout_height="25dp" 
            android:layout_marginLeft="5dp" 
            android:layout_marginTop="10dp" 
            android:layout_width="296dp" android:scaleType="matrix"/>

以上将在左上角正确显示我的图像.我的问题是我希望能够在显示的图像中移动位置,所以我可以跳到精灵中的另一个区域.这在html / css中是很常见的做法,我只是在android xml中看不到“position”类型的属性.

解决方法

你不能使用与Android相同的方式使用精灵.有一种我可以想到的方式来模拟精灵:将精灵完全水平(或垂直)放置,然后使用 ClipDrawable将每个级别定义为精灵的新部分.然后根据需要定义每个视图的级别. (如果精灵中的图像大小不一样,则可能需要使用InsetDrawable.)

不过,我会认真地重新思考在Android中使用精灵.有网页使用精灵的原因,而不是因为它们更容易 – it’s because it speeds up webpages because you don’t have to make multiple HTTP requests.由于图像已经在您的发行版APK中,因此您不会因为它们而获得任何内容.

不仅如此,但是您在Android上精通某些方面造成了一些伤害:

>某些Android手机的内存限制远低于您的预期.如果整个图形在任何给定的时间都在内存中,那么会降低所有其他内存的内存量.一旦您开始为不同的屏幕密度(ldpi,mdpi,hdpi)编写,Sprite将更难处理.

猜你在找的Android相关文章