gpt4 book ai didi

android - 缩放选择器可绘制

转载 作者:行者123 更新时间:2023-11-29 21:07:37 24 4
gpt4 key购买 nike

我在选择器中使用了一个可绘制对象。 image/drawable 是一个星号,选择器由一个复选框使用,应该代表一个收藏按钮。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:drawable="@drawable/star" />
<item android:state_checked="true" android:drawable="@drawable/star_faved" />
</selector>

图像大小为 256x256 像素,与复选框一起使用时不会缩放。我试图将它用作 9patch,但无法正常工作。

    <CheckBox android:layout_width="20dp"
android:layout_height="20dp"
android:text="read"
android:button="@drawable/favorite_checkbox"
android:focusable="false"/>

解决这个问题的标准方法是什么?

最佳答案

256x256 像素似乎大到足以成为 xxxhdpi 资源。
所以,我想你是在 640 dpi 下制作的。

在这种情况下,9 号补丁无济于事,因为它会拉伸(stretch)图形。

确保您至少拥有 xxxhdpi 资源,其 xxxhdpi(规范化)分辨率为 640 dpi

我使用了 iconmonstr.com 的图标...来自图标网站的图片是以 72 dpi(通常/有时是 96 dpi - 很少见)的非常低质量(对 PC 来说足够好)完成的,质量更好)。

想象一下,最低的 Android dpi(对于 ldpi 屏幕)是 120 dpi,几乎是......的两倍
如果你想要质量,使用的 dpi 是:

  • 120 为 ldpi,比例因子 = 0.75
  • mdpi 为 160,比例因子 = 1.0
  • hdpi 为 240,比例因子 = 1.5
  • xhdpi 为 320,比例因子 = 2.0
  • xxhdpi 为 480,比例因子 = 3.0
  • xxxhdpi 为 640,比例因子 = 4.0

通常情况下,按比例缩小将近乎完美。
因此,拥有 xxxhdpi 或 xhdpi 资源可以很好地缩放。

现在,您必须提高质量。
72dpi => 640dpi - 但保留相同的尺寸(将其设置为 640 dpi,它会自动缩放到更大的尺寸,然后再次将尺寸缩小到 256*256,留下dpi 设置为 640)。

将这些图片保存到/res/drawable-xxxhdpi文件夹中

[编辑]

CheckBox 的正确图片尺寸应为 48*4 (192) 像素作为完整 Assets (意思是图像 + 一定的填充,每边 16px,透明)和 40*4 ( 160) px 作为图形本身(“OPTICAL SQUARE”),用于 xxxhdpi 分辨率。

[编辑 2]

48mdpi 分辨率(160 dpi,比例因子 = 1.0)
4.0 是 xxxhdpi 分辨率的比例因子

由于图像会变大(重量),我建议您使用 OptiPNG , 以在不降低质量的情况下减少总字节数。

关于android - 缩放选择器可绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24000273/

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