0

Android アプリの UI の再設計を手伝ってくれるデザイナーを雇いました。それぞれについて、Activity彼は背景用の画像をくれました。これには、テキスト コンテンツ用のファンシー フレームなどの静的コンテンツが含まれます。背景画像のフレームに収まるように、正確な場所で背景画像に収まる必要があるボタンの画像を追加します。

ただし、Android デバイスの画面サイズと縦横比は異なるため、背景画像自体を に合わせるのは簡単ですandroid:scaleType="centerInside"が、他のすべての画像を背景に正確に合わせるにはどうすればよいでしょうか? 背景に合わせる必要がない場合は、それぞれに正確な幅と高さを設定するだけですがImageButton、背景がどのようにスケーリングされるか (画面のサイズと比率に基づく) によっては、正しく配置されない可能性があります。

事前にどうもありがとうございました。

更新: を使用して ImageView 内で画像をスケーリングする方法のように、ビュー全体 (RelativeLayout など) を画面内でスケーリングする方法はありscaleType="centerInside"ますか? もしそうなら、私はRelativeLayoutのサイズを背景画像と同じに設定し、他のすべてのボタン/画像を背景画像に相対的な場所に配置して、全体を手に入れることができます(RelativeLayoutすべてを含む他のビュー) は、電話の画面の中央に配置します。

4

1 に答える 1

1

Androidデバイスはサイズだけでなく密度も異なる画面を提供するため、あなたのアプローチは間違っています(または少なくとも悪いです)。これから読むのは、最初に複数の画面の設計です。次に、スケーラブルでないビットマップ UI は、想像どおりには機能しないことを理解してください。UI 要素 (ボタン、リスト、ヘッダーなど) がスケーリングされることを意味する画面サイズをサポートする必要があります。これに対処する可能性はたくさんあります。1 つは、9 パッチビットマップを使用することです (9 パッチでランダムに選択されたチュートリアル)。

また、こちらの記事もお読みください:複数画面のサポート

UI を設計するときは、mdpi 密度を考慮して設計することを想定すれば十分です。レイアウトが完了したら、ie andのドローアブルを作成します(同じ名前で、それぞれに配置します)。レイアウト ファイルは変更されませんが、フレームワークは適切なアセットを自動的に選択するため、その密度のドローアブルを提供している限り、UI はシャープに見えます。リソースの提供の記事も参照してください。mdpihdpires/drawable-mdpires/drawable-hdpi

于 2012-10-24T22:56:45.673 に答える