Scale Drawable - setImageLevel是否决定了规模?

idi*_*dig 8 android android-ui xml-drawable

我已经创建了一个小测试应用程序来尝试缩放drawable.

我在xml中定义了drawable并将其保存为scale_up.xml.我有一个main.xml带有的布局文件ImageView.我android:src="@drawable/scale_up"在ImageView中使用我在xml中创建的drawable.在我的活动中,我myImageView.setImageLevel(some level here)用来设置定义的ImageView的级别main.xml.一切都很好,ImageView显示了scale_up中定义的drawable.

我的困惑如下:

  • 如果级别设置为10000,则更改scaleHeightscaleWidth%in scale_up.xml不会产生可感知的差异
  • 更改setImageLevel(在0到10000之间)的级别会改变图像的大小 - 实际上只能在5000左右看到.scaleHeight和scaleWidth的%值越高,图像越小(取决于值setImageLevel())

我想我的问题是:

  1. 使用是否正确setImageLevel(),在0到10000之间传递一个级别 - 在活动中控制xml文件中定义的drawable的大小?
  2. scaleHeight,scaleWidth和setImageLevel()- 之间的关系是什么,正如我现在看到的那样,我也可以将scaleHeight和scaleWidth设置为100%,然后使用setImageLevel(5000)得到50%缩放图像 - 即增加或减少setImageLevel(0 to 10000)将改变比例 - 制作在scaleHeightscaleWidth%相当没有意义的.

感谢对此的任何澄清,也许是一个如何正确使用scale drawable(在xml中定义)的示例.

Nat*_*man -1

  1. 不。setImageLevel 更像是图像的枚举类型。它用于显示不同的图像,例如电池充电水平或信号条显示。您将一张图像置于 1 级以下表示电池电量低,将另一张图像置于 2 级以下表示电池电量中等,依此类推。然后使用 setImageLevel 在它们之间切换。至少我是这么理解的。也就是说,我不知道为什么它会改变规模。

  2. 我不知道为什么会这样。这可能是 Eclipse 中 ADT 中的 xml 编辑器/查看器的问题,我注意到很多东西在我的手机上显示得很好,但在我的编辑器上却非常糟糕。由于这个原因,我通常只使用 xml 工作。

您到底想实现什么目标?这可能会更容易回答您的问题。