0

アプリの残りの部分として素敵なフレーム効果を与えるために、背景として png を持つLayoutViewを含むアクティビティがあり、この LayoutView にロードされた listView を広告します。

最新バージョンの ADT ですべての画面サイズと解像度プロファイルを使用してアプリをテストし、すべての画面で正常に動作しますが、これらの構成では

-タブレット 10.1" WXVGA mdpi

-タブレット WSVGA 7" mdpi

-Nexus 7 7.17" 800x1280 tvdpi

リストは背景 PNG のフレームを超えており、見栄えが悪いです。

他の構成 (解像度は同じだが密度が異なり、その逆も同様) は機能します。

この問題を解決するには、listView のマージンを増やす必要がありますが、これにより他のすべての構成で問題が発生します。

アプリのグラフィックデザインを変更せずに、この問題を解決するにはどうすればよいですか?

編集

私は問題のサンプルを追加しました.listViewは黒い領域にとどまる必要がありますが、説明されている状況では領域を超えています ここに画像の説明を入力

赤い領域は、ListView を持つ別の LinearLayout2 内にある LinearLayout1 です。鮮やかな赤い領域には、LinearLayout1 の背景として使用される png のフレームが含まれているため、余白が大きくなっています。

4

2 に答える 2

0

すべての画面と dpi に同じ背景を使用しているようです。

この場合、それを行うのは難しいです(同じ問題を見つけました)。

いくつかの解決策があります:

  1. 背景にはninepatchを使用。
  2. 以下のように、背景をいくつかの領域に分割し、静的サイズのビューの代わりにマージンを使用しないでください。
<layout>
  <view id="left" size="20dp" background="left.png" />
  <imageview id="content" size="0dp" weight="1" background="center.9.png" />
  <view id="right" size="20dp" background="right.png" />
</layout>

これを使うことで、レイアウトが画面やdpiに関係なくなります。

于 2012-11-30T03:17:13.353 に答える
0

特定の画面密度に合わせて背景画像のサイズを変更/変更する必要があると思います。Android では、画像を保存するためにこれらのフォルダーを選択できます。

drawable、drawable-hdpi、drawable-hdpi-v11、drawable-ldpi、drawable-mdpi など http://developer.android.com/guide/topics/resources/providing-resources.html

Android OS は、ハードウェアの画面解像度に基づいて最も適切な画像を使用しようとします。したがって、画像を大きく/小さくすると、特定の画面密度のリストビューに役立つかどうかを確認してください。

そうでない場合は、スクリーンショットが間違いなく役立ちます:P

于 2012-11-28T06:38:28.773 に答える