8

スケール ドローアブルを試すための小さなテスト アプリを作成しました。

ドローアブルを xml で定義し、.xml として保存しscale_up.xmlます。を含むmain.xmlレイアウト ファイルがありImageViewます。ImageView で使用android:src="@drawable/scale_up"して、xml で作成したドローアブルを使用します。私のアクティビティmyImageView.setImageLevel(some level here)では、 で定義された ImageView のレベルを設定するために使用しmain.xmlます。すべてうまくいき、ImageView は scale_up で定義されたドローアブルを表示します。

私の混乱は次のとおりです。

  • scaleHeightscaleWidth% を変更してscale_up.xmlも、レベルが 10000 に設定されている場合、知覚できる違いはありません
  • レベルをsetImageLevel(0 から 10000 の間で) 変更すると、画像のサイズが変更されます。実際には 5000 付近でしか認識できません。scaleHeight と scaleWidth の % 値が高いほど、画像は小さくなりますsetImageLevel()(

私の質問は次のとおりです。

  1. setImageLevel()xml ファイルで定義されたドローアブルのサイズを制御するために、アクティビティで 0 から 10000 までのレベルを渡して使用するのは正しいですか?
  2. scaleHeight、scaleWidth、およびsetImageLevel()-今見たように、scaleHeightとscaleWidthを100%に設定してsetImageLevel(5000)から、50%のスケーリングされた画像を取得するために使用することもできます-つまりsetImageLevel(0 to 10000)、増減するとスケールが変更されます-作成scaleHeightscaleWidth% はかなり無意味です。

これについての説明と、おそらくスケール ドローアブル (xml で定義) を正しく使用する方法の例をいただければ幸いです。

4

1 に答える 1

0
  1. いいえ、setImageLevel は画像の列挙型に似ています。たとえば、バッテリーの充電レベルや信号バーの表示など、さまざまな画像を表示するためのものです。低バッテリーの場合はレベル 1 未満の画像を 1 つ、中程度のバッテリーの場合は 2 未満の画像を配置します。次に、setImageLevel を使用してそれらを切り替えます。少なくともそれは私の理解でした。とはいえ、なぜスケールが変わるのかわかりません。

  2. なぜそうなるのか、私にはわかりません。これは、Eclipse の ADT の xml エディター/ビューアーの問題である可能性があります。携帯電話では多くのものがうまく表示されることに気付きましたが、エディターでは信じられないほどひどいものです。そのため、私は通常xmlで作業します。

正確に何を達成しようとしていますか?そうすることで、あなたの質問に答えやすくなるかもしれません。

于 2013-02-12T16:58:11.053 に答える