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

时间:2012-03-26 14:30:20

标签: android android-ui xml-drawable

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

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

我的困惑如下:

    如果级别设置为10000,则
  • 更改scaleHeight中的scaleWidthscale_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%毫无意义。
  3. 感谢对此的任何澄清以及如何正确使用scale drawable(在xml中定义)的示例。

1 个答案:

答案 0 :(得分:0)

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

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

  3. 你想要完成什么?这可能会让您更轻松地回答您的问题。