0

私は2つのテキストビュー、4つのボタン、1つのシークバー、1つの画像ビューを持つ線形レイアウトを使用しています. それらのテキストビュー、ボタンなどを線形レイアウトに配置すると、Androidフォンでの配置は問題ありません。Android タブレットで同じコードを実行していますが、位置合わせが適切ではありません。この配置がタブレットで適切でないのはなぜですか? Javaコードでテキストビュー、ボタンなどを作成しました。Androidフォンとタブレットで違いがあるdevicewidth / 2で2番目のテキストビューの左マージンを設定することで、2つのテキストビューを水平に指定しています。以下のように揃える必要があります。

 TextView1                            TextView2
 Button1 Button2 Button3 Button4      SeekBar  ImageView

これが私のコードです。

 LinearLayout.LayoutParams textViewParams1 = new LinearLayout.LayoutParams(
             LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    textViewLayout.setOrientation(LinearLayout.HORIZONTAL); 
    TextView TextView1=new TextView(this);
    TextView1.setText("Text1");
    textViewParams1.gravity=Gravity.CENTER;
    textViewParams1.setMargins(60, 20, 40, 10);
    textViewLayout.addView(chooseColorTextView, textViewParams1);

    LinearLayout.LayoutParams textViewParams2 = new LinearLayout.LayoutParams(
             LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    TextView TextView2=new TextView(this);
    TextView2.setText("Text2");
    int width=getWindowManager().getDefaultDisplay().getWidth();
    textViewParams2.gravity=Gravity.CENTER;     
    textViewParams2.setMargins((width/2), 20, 40, 10);
    textViewLayout.addView(strokeWidthTextView, textViewParams2);

    parentlinearLayout.addView(textViewLayout, textViewLayoutParams);

次の線形レイアウトでは、4 つのボタン、シークバー、画像ビューを追加しました。しかし、調整の問題に直面しています。

4

4 に答える 4

2

プログラムではなく XML でさまざまな画面サイズにレンダリングする必要がある複雑なレイアウトを作成することをお勧めします。これにより、res/layout と res/layout-large に 2 つの異なる main.xml を持つことができ、システムは必要に応じて正しいものを選択します。画面サイズについて。

于 2013-03-05T18:43:09.207 に答える
1

XML で layout_weight と weightSum を使用します。

<LinearLayout android:weightSum="1" android:layout_width="match_parent" android:layout_height="wrap_content">
    <!-- First column -->
    <LinearLayout android:layout_weight=".5" android:layout_width="0dp" android:layout_height="wrap_content"> ... </LinearLayout>

    <!-- Second column -->
    <LinearLayout android:layout_weight=".5" android:layout_width="0dp" android:layout_height="wrap_content"> ... </LinearLayout>
</LinearLayout>

これにより、動的にサイズ変更される 2 列のレイアウトが生成されます。分割を短くまたは長くしたい場合は、.5 を .3 に変更し、.7 を 30/70% の分割などに変更します。

于 2013-03-06T05:39:37.670 に答える
0

wrap_content およびその他の Android コントロールの詳細をお読みください。タブレットの dpi についてもお読みください。解像度により外観が変わります。

于 2013-03-05T18:42:18.710 に答える