1

54ビットビットのうちの1つをで表示するための最良の方法を見つけようとしていImageViewます。アセットからビットマップをロードできると思いました。しかし、サイズを決める方法がわかりません。ファイルからロードするときにXML、それぞれ異なるサイズの3つの異なるビットマップから1つを選択します。

使用するビットマップのサイズを決定する方法がわかりません。ビューの幅と高さを取得する方法は知っていますが、画面全体を取得する方法はわかりません。画面の解像度を取得する方法はありますか?

のビットマッププロパティを設定する方法はわかってImageViewいますが、スケーリングするものが見つかりませんでした。拡大縮小する方法はありますか、それとも画面サイズごとに別のビットマップが必要ですか?

これは単純なはずですが、非常に複雑なものになります。

画面の解像度を取得する方法はありますか?表示されるビットマップをスケーリングできImageViewますか?これを行うためのより簡単な方法はありますか?

4

1 に答える 1

2

ここにはたくさんの質問があり、実際に何をしようとしているのかはわかりませんが、最後に尋ねた質問への回答は次のとおりです。

「画面解像度を取得する方法はありますか?」

もちろん...

getWindowManager().getDefaultDisplay().getWidth()
getWindowManager().getDefaultDisplay().getHeight()

「ImageView が表示するビットマップをスケーリングできますか?」

ImageView は単なるコンテナーであるため、幅と高さを設定してからビットマップを読み込むと、その幅と高さに合わせてスケーリングされます。

その layout_width と layout_height をwrap_content特定の寸法ではなく に設定すると、イメージの寸法が何であれ準拠します (異なるビットマップがロードされると拡大および縮小します)。さまざまな画面が心配な場合は、次のドキュメントに従って、解像度の異なるデバイス用に画像を別のフォルダー (同じ名前) に配置する必要があります: http://developer.android.com/guide/practices/screens_support .html

ビットマップは、マトリックスを使用して手動で好きなようにスケーリングできます。これはもう少し複雑なので、答えを明確にし、これが実際に必要であることを表明するまで、あえて例を挙げません。

于 2012-06-08T06:39:04.437 に答える