3

Android でユニバーサル レイアウトを動作させようとしましたが、成功しませんでした。私の理解では、すべてのウィジェットを dp で指定し、1 つの画面サイズで正しく見えるようにすると、他の解像度に適切にスケーリングする必要がありますが、私の結果はちょっと間違っているように見えます。

相対レイアウトを使用して、すべてを HVGA にレイアウトしました。相対レイアウトには、UI デザイナーが要素の境界を定義するために使用した背景があります。このレイアウトでは、すべてが完璧に見えます。

次に、縦横比がわずかに異なる大きな画面に切り替えます。背景は適切にスケーリングされますが、他のすべては dp だけずれて見えます。私の質問は、すべての要素を画面に合わせて正しくスケーリングする黄金の方法は何ですか。背景に対するすべての要素の比率を維持したい。 すべてがうまく見えるレイアウト

背景がきれいに見えるが、幅が 100 dp の左側のリストビューが不適切にスケーリングされる、拡大されたレイアウト

ありがとう!

編集:これを行う方法を考え出しました。ボタンと背景の間の不一致の理由は、背景のスケーリングが dp とは異なり、デバイスの dp が明らかに異なるためです。解決策は、絶対ピクセルからスケール係数を手動で計算し、その係数ですべてを手動でスケーリングすることです。これを行う方法については、次の参考文献を参照してください。 さまざまな画面に合わせて Android をスケーリングする

4

1 に答える 1

2

dp は、解像度が異なるさまざまな画面でウィジェットのサイズが一定に保たれるように、自分自身をスケーリングします。あなたの場合、リストビューのサイズは一定のままですが、背景は画面幅に引き伸ばされます。これを避けるには、最初のリストビューの背景として最初の色を使用し、2 番目のリストビューと同じようにします。

于 2012-07-23T21:22:01.330 に答える