0

LinearLayout でいくつかの画像と textView を取得しました。LinearLayout には、マージンの上部とマージンの下部が 8sp ほどあります。

問題は、LinearLayout にマージン 0 を指定したのと同じ方法でマージン 0 を指定した場合でも、すべての画像がそのマージンを取得していることです。

縦向きモードで Android の画像に余白ができる 横向きにすると画像とテキストの余白が消える ご覧のとおり、画面を横向きモードにすると余白が消えます。

私は何を間違えましたか?

すべてがプログラムによって行われます。つまり、XML ファイルは使用されません。LinearLayout でマージンを設定する方法は次のとおりです。

LinearLayout contentLayout = new LinearLayout(getActivity());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(0,8,0,8);
contentLayout.setLayoutParams(params);

画像に android:adjustViewBounds を使用して解決

4

2 に答える 2

0

方向を垂直に設定してみてください

contentLayout.setOrientation(1);
于 2013-07-19T16:03:21.243 に答える
0

これを試して:

//obtain dp equivalent of pixels
final float scale = getResources().getDisplayMetrics().density;
int margin = (int) (5 * scale + 0.5f);

レイアウト パラメータに適用します。

//setMargins(left, top, right, bottom)
params.setMargins(margin,margin,margin,margin);

marginLeftを設定していないと思います

それが役立つかどうか教えてください!

于 2013-07-19T16:10:11.460 に答える