0

Galaxy Tab 2Galaxy Note 800Galaxy Note 2など、さまざまな画面サイズでアプリを完全に実行したいと考えています。

ただし、私のアプリはかなり複雑で、wrap_contentまたはfill_parentすべての場所で使用できません。使ってみましlayout_weightたがそれでも使えませんでしたRelativeLayout

Androidのドキュメントで提案されているように、さまざまなレイアウトをまとめて作成する以外に、画面サイズに応じて画面コンポーネントのサイズを変更するスマートな方法はありますか? で使用する方法はありますlayout_weightRelativeLayout?

ありがとう!

4

3 に答える 3

1

TableLayoutとそのTableRowで使用できます。あなたが言ったように、RelativeLayoutは重量プロパティをサポートしていないため、プロジェクトの1つでこれらをRelativeLayoutよりも優先しました。

于 2012-12-04T07:11:46.240 に答える
0

効率的な方法を見つけました。

レイアウトで寸法をハード コーディングする代わりに、 でそれらの参照を使用しましたResources/values/dimensions.xml。そのため、さまざまな画面サイズに対してリソースで異なるサイズのファイルを作成するだけで、複雑さが軽減され、すべての画面サイズで個別のレイアウトを作成する必要がなくなりました。

于 2012-12-05T12:05:34.967 に答える
0

相対レイアウトで重みを使用できないのは本当です。レイアウトがすべてのデバイスで完全に実行されるようにしたい場合。ビューで入れ子になった LinearLayouts を使用する必要があります。すべてのデバイスに適切な解像度の画像がある場合、UI は完璧になります。

さらに、RelativeLayout では複雑なレイアウトは完璧ではありません。ウェイトを使用できず、画像がゆがんだり伸びたりする場合があるためです。

もちろん、ネストされた LinearLayouts をビューで使用すると余分な行が増えますが、これが唯一の完璧なソリューションです。

于 2012-12-04T06:58:55.400 に答える