0

現在、Android デバイス用のモバイル アプリを開発しようとしています (Appcelerator を使用)。

さまざまな画面解像度の Android デバイスがたくさんあります。だから私は基本的に、アプリがすべての Android デバイスで同じように見えるようにしたいと考えています。

画面の中央に背景画像があるとします。これは (ピクセル単位で) 550x300 です。

イメージビューの幅と高さをディップ(密度に依存しないピクセル)に設定しようとしました。したがって、私の場合は次のようになります: 332dpx 226dp

これを最初にテストしましたHTC One X。そこに画像がきれいに中央に配置され、画面の端まで左右に小さなスペースが残っています。

次に、少し古いデバイスでテストしましたHTC Desire Z。そこでは、画像の幅は画面の実際の幅よりも少し大きくなります。(画面例。青い四角がイメージ)

ここに画像の説明を入力

つまり、幅と高さをdpとして設定することは、画像にも適していません。

両方の電話で同じように見えるように、画像の幅と高さを設定するにはどうすればよいでしょうか。つまり、両方とも画像の残りの端に小さな空白があるようにします (HTC One X にあるように)??

この件に関するアドバイスはありますか?

編集

これまでの情報をありがとう。リソースなどへのリンクを投稿し、いくつかの提案をした人もいます。数日以内に解決するように努めますので、回答を受け入れるまでに数日かかる場合があります。それまでの間、アイデアの提案は大歓迎です。

4

5 に答える 5

1

サイズに合わせて使用​​することをお勧めします。

客観的なcでは、このように見えます... Androidプログラマーではありませんが、これは役立つかもしれません。

CGRect frame = _textView.frame;
frame.size.height = _textView.contentSize.height;
_textView.frame = frame; 

したがって、フレームサイズを取得する方法を理解できれば、ビューがどのように配置されていても、画像をそのサイズに設定できます。

画面全体と側面だけを占有したくない場合は、Android用の自動サイズ変更機能がある可能性があります。このようにして、電話のサイズによって異なるフレームに合わせて画像が柔軟になります。

于 2012-08-01T20:06:32.193 に答える
1

さまざまなドローアブル フォルダー (drawable、drawable-large、drawable-xlarge など) を使用して、背景用の画像アセットをさまざまなサイズで保存します。詳細については、 http://developer.android.com/guide/topics/resources/providing-resources.htmlを確認してください。

Android: ドローアブルまたは背景イメージをスケーリングしますか?も参照してください。役立つ情報をご覧ください。

于 2012-08-01T20:10:22.910 に答える
0

問題は、画像が広いということではなく、HTC Desire Z で携帯電話の画面幅が小さい
ことだと思います。すべてのデバイスで画像を同じように見せるための最良の方法は、幅/高さを設定することだと思いますプログラム的に。
しかし、これは実際には問題ではないと思います。複数のデバイス用にさらに開発すると、はるかに複雑な問題に遭遇するからです。どちらも見栄えがします。

于 2012-08-01T20:11:51.783 に答える
0

私があなたandroid:layout_widthに設定してから、ディップにとfill_parentを追加します。上下にマージンを設定することもできますが、スクリーンショットに基づくと問題にはならないようです。 android:layout_marginLeftandroid:layout_marginRight

原則として、ウィジェットに固定の高さと幅を設定することは避けてください。さまざまな画面サイズを扱うための優れたリファレンスは次のとおりです。

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

于 2012-08-01T20:12:11.273 に答える
0

だから私は基本的に、アプリがすべての Android デバイスで同じように見えるようにしたいと考えています。

いいえ、ありません。あなたはそう思うかもしれませんが、実際にはそうではありません。これは、写真を 4x6、5x7、8x10 のフレームに収めようとするようなものです。何かを与える必要があります。小型のスマートフォン、中型のスマートフォン、大型のスマートフォン、7 インチのタブレット、10 インチのタブレットがありますが、これらは同じエクスペリエンスではなく、機能するように設計に寛大さを与える必要があります。画像の外側に特定の量のスペースが必要な場合は、ImageView に特定のマージンを DP 単位で指定します。次に例を示します。

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="10dip"
    //...
    />

エクスペリエンスが同じになるように努力する必要があります (ただし、タブレットには異なるレイアウトを使用することを強くお勧めします) が、すべての画面サイズと密度で同じに見えるとは期待できません。

于 2012-08-01T20:22:43.693 に答える