7

すべてのデバイスで同じ場所に表示されるように、UI 要素を配置する最善の方法を 100% 確信しているわけではないことに気付きました。

これまでのところ、次のオプションがあります。

  1. dpデバイスごとにパディングを設定する
  2. Viewこの画像の上に作成し、各デバイスのパディングを変更します
  3. 汎用的な方法でコード セット内およびコード セットから画面サイズを計算Java codeします。たとえば、画像が上から画面の 1/5 の高さに配置されるように設定し、現在のデバイスの画面の高さに応じてこの式を適用します。
  4. dpポイント 2. と同様ですが、 fixedを使用する代わりにlayout_weight、問題の要素をいじります。

最善の方法は何ですか?

ここで言及しなかったより良い方法はありますか?

ありがとう

4

1 に答える 1

6

最適なオプションは次の 2 つです。

  1. コード内 - 画面サイズを計算し、画面のパーセンテージで作業します。
  2. layout_weightビューとweight_sum親ビューに使用します。

コード アプローチの小さな例 - ビューを画面幅のちょうど 25% にしたいとします。

 WindowManager manager = (WindowManager) _context.getSystemService(Activity.WINDOW_SERVICE);
 int screenWidth = manager.getDefaultDisplay().getWidth();
 YOUR_VIEW.getLayoutParams().width = (int) (screenWidth * 0.25);
于 2012-10-19T13:31:59.770 に答える