SurfaceView クラスに基づいて Android 用のゲームを開発しています。現在、さまざまな画面サイズに合わせてビューを最適化しようとして立ち往生しています。
問題 1: res フォルダーに PNG ファイルがあり、Canvas.drawBitmap を使用して描画します。この記事 ( http://developer.android.com/guide/practices/screens_support.html ) を読んだ後、画面が大きい場合、Android はビットマップのサイズを変更すると思いました。残念ながら、タブレットでアプリを起動するときと電話で起動するときに、スケーリング (または変更) を認識しませんでした。それで、それはどのように行われますか?利用可能なスペースを計算し、ソースと宛先の Rectangle を使用してビットマップを描画するための巧妙な戦略を考え出す必要がありますか? キャンバスにビットマップを描画する方法のベスト プラクティスやヒントを誰かが持っているとよいでしょう。ピクセル <-> ディップ変換のトピックは既に読みましたが、アプリでその「ソリューション」を使用する方法がわかりません。だからどんな助けもありがたい...
問題 2: res フォルダーに 3 つの PNG があります。1 つの ldpi、1 つの mdpi、および 1 つの hdpi。Ldpi イメージは 50px*50px、mdpi は 75px*75px、hdpi は 100px*100px です。エミュレータ(800 * 480)にアプリをロードすると、100 * 100 pngが使用されます。Acer Iconia Tab でアプリをロードすると、75*75 の画像が使用されます。hdpiは大画面(=タブ)用で、mdpiまたはldpiはエミュレータ画面用に使用されると思いました。少なくとも、アンドロイドはタブでも hdpi-image を使用すると思っていましたが、驚きました...これについての説明も大歓迎です
申し訳ありませんが、4つの長いテキストです。明確にしようとしています...
cya EffDee