2

下の画像に示すように、さまざまな画面サイズのデバイスで実行しているときに、いくつかのテキストフィールドとボタンがあるアプリに取り組んでいますが、予期しない結果が表示されています!

【画像1】http://oi45.tinypic.com/25yvon4.jpg 【画像2】http://oi45.tinypic.com/xmlqns.jpg

ここで、最初の画像では、画面サイズが大きいために下部にスペースが残っています.2番目の画像では、画面サイズが小さいため、ボタンの最後の行が非表示になっています.ボタンにもテーブルレイアウトを使用しています.

この問題を解決する方法はありますか。

4

3 に答える 3

4

これは広いトピックであり、まず空間的な理解が必要です。ここから始めるのが良いでしょう - http://developer.android.com/guide/practices/screens_support.html

簡単に言うと、常にポイント単位 (dps) を使用し、コード内でピクセルをハードコードすることを避け、相対的な方法でアイテムを配置し (つまり、他のオブジェクトとの関係で - RelativeLayout、LinearLayout など)、確実に活用するようにしてください。 "values-..." フォルダーの威力。例

値-xhdpi (XH)

値 - hdpi (H)

値-mdpi (M)

値-土地 (風景)

values-sw600dp (最小幅 600dp 以上)

....

于 2013-03-24T09:27:49.403 に答える
2

さまざまな画面サイズが必要な場合は、layout、layout-large、および layout-xlarge リソース フォルダーを使用して、レイアウト ファイルをカスタマイズします。これらのレイアウトを電話、7 インチおよび 10 インチのタブレットでテストして、すべてのベースをカバーします。

画面が 4 インチ未満の小型の携帯電話 (qvga) や古いデバイス (wvga) の場合は、カスタム レイアウト ファイル (layout フォルダー内) を作成し、これらの種類のデバイスを検出したときに Java コードで動的に参照します。これらの旧型および小型の携帯電話で可能な限りテストしてください. 実際のテストを行うために、Sony Device Loaner Program からいくつかの携帯電話を借りてください.

最後に、小さな画面で垂直方向のスクロールが必要な場合は、ScrollView を使用してレイアウトを埋め込みます。小さな画面にすべてを収めようとして夢中にならないでください。スクロールは、ユーザーが理解できる自然な解決策である場合があります。

于 2013-03-24T13:40:55.300 に答える
0

問題を解決するには、すべてのデバイスの画面を作成する必要があります。別の画面については、以下のドキュメントをお読みください:-

http://developer.android.com/guide/practices/screens_support.html

また

ウェイトまたはレイアウト ウェイトを使用して、この問題を防ぐことができます。

于 2013-03-24T09:26:30.187 に答える