画面の75%を占めるボタンがあります。
480x800の解像度の画面では、これは360ピクセル幅になります。
280x320の解像度の画面では、これは210ピクセル幅になります。
レイアウトXMLファイルでこれを指定するにはどうすればよいですか?
DIPの測定単位があることは理解していますが、それは画面イメージを解像度に合わせて拡大縮小するためにも機能しますか?これにどのDIP測定を使用し、画像を160dpiで保存する必要がありますか。
画面の75%を占めるボタンがあります。
480x800の解像度の画面では、これは360ピクセル幅になります。
280x320の解像度の画面では、これは210ピクセル幅になります。
レイアウトXMLファイルでこれを指定するにはどうすればよいですか?
DIPの測定単位があることは理解していますが、それは画面イメージを解像度に合わせて拡大縮小するためにも機能しますか?これにどのDIP測定を使用し、画像を160dpiで保存する必要がありますか。
さまざまな画面サイズや密度などをすべて考慮して、これを複雑にしないようにする必要があります。
ボタンを画面の75%に配置したいとします。
さて、LinearLayoutに次のように配置します。
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent
android:orientation="horizontal">
<My75PercentButton
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight="75">
<View
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight="25">
</LinearLayout>
これにより、2つのビューの幅は0になりますが、その後、使用可能なスペースの75%が最初のビューに広がり、25%が2番目のビューに広がります。
ボタンを伸ばしてそのスペースを埋める場合(周囲に空のパディングを残すのではなく)、9パッチにします。
また、さまざまな画面密度をサポートする必要があるため、drawable-ldpi、drawable-mdpi、およびdrawable-hdpiでボタンにさまざまな画像サイズを指定します。
しかし、私は本当に注意します。さまざまな特定の画面サイズ用にグラフィックをデザインしている世界に自分を押し込もうとすると、大きな傷の世界になってしまいます。あなたは本当にそれをしたくありません。Androidデバイスが実行している画面サイズはすでにたくさんあります。これは将来大幅に増加するだけです。レイアウトマネージャーやその他の機能を利用して実際の画面サイズを調整すると、アプリはこれらすべての画面で正常に動作し、作業はほとんどまたはまったく行われません。特定の画面サイズに合わせてグラフィックをデザインしようとすると、耐えられなくなるまで何度も何度もこれを繰り返します。
layout-small
小さな密度の画面、layout-normal
すべての密度、および高密度の画面に対して呼び出される適切なサブディレクトリでレイアウトを定義することにより、さまざまな画面密度に対してさまざまなレイアウトを作成できますlayout-large
。
ディップ測定はこれで機能しますが、どの値を設定するかはよくわかりません。試してみて、ニーズに最適な値を見つける必要があると思います。
詳細な記事はここにあります。
編集:私は実際にそれらを混ぜ合わせました...混乱してすみません。上記の私の答えを修正しました。
@HardQuestion:Androidでサポートされているメディア形式は次のとおりです。