Android以编程方式设置textview的边距
当我尝试使用此代码设置边距时:Android以编程方式设置textview的边距,android,Android,当我尝试使用此代码设置边距时: @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_whid
@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);
}
应用程序在启动时崩溃。如何设置边距而不使我的应用程序崩溃
谢谢您的帮助。尝试替换以下行:
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);
尝试替换以下行:
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);
LayoutParams具有
setMargins
方法,然后将参数设置为setLayoutParams()
方法的TextView
LinearLayout.LayoutParams params = new
LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(10,10,10,10); // setMargins(left, top, right, bottom)
textView.setLayoutParams(params);
LayoutParams具有
setMargins
方法,然后将参数设置为setLayoutParams()
方法的TextView
LinearLayout.LayoutParams params = new
LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(10,10,10,10); // setMargins(left, top, right, bottom)
textView.setLayoutParams(params);
这里有一个方法,只需要传递参数
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);
}
其中第一个参数视图是您的文本视图。这里是您的方法,只需要传递参数
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);
}
其中第一个参数视图是您的文本视图。所以您的变量之一可能是“null”。但我建议你还是使用我的报价,所以你的一个变量可能是空的。但我建议你还是用我的提议。