当我尝试使用此代码设置边距时:
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
RelativeLayout.LayoutParams params;
TextView login = (TextView) findViewById(R.id.textView2);
int text_height = login.getHeight();
int text_whidth= login.getWidth();
params = new RelativeLayout.LayoutParams((int)login.getLayoutParams().WRAP_CONTENT, (int)login.getLayoutParams().WRAP_CONTENT);
params.setMargins(0, 500, 0, 0);
login.setLayoutParams(params);
}
应用程序在启动时崩溃。如何在不崩溃我的应用程序的情况下设置保证金?
感谢您的帮助。
答案 0 :(得分:2)
尝试替换以下行:
params = new RelativeLayout.LayoutParams((int)login.getLayoutParams().WRAP_CONTENT, (int)login.getLayoutParams().WRAP_CONTENT);
这一个:
params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
答案 1 :(得分:1)
这是为您提供的方法,只需传递参数
public static void setMargin(View view, int left, int right, int top, int bottom) {
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams)
view.getLayoutParams();
params.setMargins(left, top, right, bottom);
view.setLayoutParams(params);
}
第一个参数视图是您的TextView。
答案 2 :(得分:0)
具有setMargins
方法的LayoutParam,然后将参数设置为setLayoutParams()
的{{1}}方法。
TextView