0

この問題の解決策を 1 時間以上探していますが、うまくいきません。:/

TextView の上マージンを整数位置に応じた値に設定したいと考えています。しかし、どういうわけかマージンが表示されません...

public void addElements(int position, String title,int colour, RelativeLayout ld){
            int px = (int) TypedValue.applyDimension(
                    TypedValue.COMPLEX_UNIT_DIP,
                    1, 
                    res.getDisplayMetrics()
            );

            int pos = 168*px;

            LayoutParams params;

            params = new LayoutParams(LayoutParams.MATCH_PARENT,144*px);
            params.setMargins(0, 168, 0, 0);

            TextView tv = new TextView(activity);
            tv.requestLayout();
            tv.setBackgroundResource(colour);
            tv.setText(title);
            tv.setSingleLine(false);
            ld.addView(tv, params);



        }
4

2 に答える 2

1

これを試して:

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, 144);
    params.setMargins(0, 168, 0, 0);
于 2013-01-24T20:43:44.683 に答える
0

LayoutMargins は、RelativeLayout、LinearLayout などの ViewGroup 用に予約されています。TextView などの最も一般的なビューでは、スペースを追加するためにパディングを使用します。

これはうまくいくはずです:

tv.setPaddingRelative(0,168,0,0);

于 2013-01-24T20:40:46.917 に答える