gpt4 book ai didi

android - 在 android 上使用图像 Sprite

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:51:41 24 4
gpt4 key购买 nike

我有一个图像 (588x449) Sprite 图,其中包含不同团队 Logo 的集合。在 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"/>

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

最佳答案

您不能像在 HTML 中那样在 Android 上使用 Sprite 。不过,我可以想到一种模拟 Sprite 的方法:将 Sprite 完全水平(或垂直)放置,然后使用 ClipDrawable将每个级别定义为 Sprite 的新部分。然后根据需要定义每个View的层级。 (如果 Sprite 中的图像大小不一,您可能还需要使用 InsetDrawable。)

但是,我会认真地重新考虑在 Android 中使用 Sprite 。网页使用 Sprite 是有原因的,并不是因为它们更容易 - it's because it speeds up webpages because you don't have to make multiple HTTP requests .由于图像已经在您的发布 APK 中,因此您不会通过 Sprite 化它们获得任何好处。

不仅如此,在 Android 上使用 spriting 还会造成一些伤害:

  1. 某些 Android 手机的内存限制远低于您的预期。如果您的所有图形在任何给定时间都在内存中,则会减少您拥有的用于其他所有内容的内存量。

  2. 一旦您开始为不同的屏幕密度(ldpi、mdpi、hdpi)编写, Sprite 将更难处理。

关于android - 在 android 上使用图像 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5732943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com