8

我创建了一个小型测试应用程序来尝试缩放可绘制。

我在 xml 中定义我的可绘制对象并将其保存为scale_up.xml. 我有一个main.xml带有ImageView. 我android:src="@drawable/scale_up"在 ImageView 中使用我在 xml 中创建的可绘制对象。在我的活动中,我myImageView.setImageLevel(some level here)用来设置在main.xml. 一切顺利,ImageView 显示在 scale_up 中定义的可绘制对象。

我的困惑如下:

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

我想我的问题是:

  1. 在活动中使用setImageLevel()0 到 10000 之间的级别来控制 xml 文件中定义的可绘制对象的大小是否正确?
  2. scaleHeight、scaleWidth 和之间的关系是什么setImageLevel()- 正如我现在所看到的,我不妨将 scaleHeight 和 scaleWidth 设置为 100%,然后用于setImageLevel(5000)获得 50% 的缩放图像 - 即增加或减少setImageLevel(0 to 10000)将改变比例 - 制作和% 毫无意义scaleHeightscaleWidth

感谢对此的任何澄清,也许还有一个如何正确使用可绘制比例(在 xml 中定义)的示例。

4

1 回答 1

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

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

你到底想完成什么?这可能更容易回答你的问题。

于 2013-02-12T16:58:11.053 回答