编程的文本视图的布局边距

如果我使用XML文件我有一个选项称为layout_margin(例如layout_margin =“1dp”文本视图),但我想设置编程,我不知道该怎么做。

Solutions Collecting From Web of "编程的文本视图的布局边距"

LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)textview.getLayoutParams(); params.setMargins(20, 0, 0, 0); textview.setLayoutParams(params); 

请在将您的问题添加到StackOverflow之前请Google。

 TextView tv = (TextView)findViewById(R.id.my_text_view); LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)tv.getLayoutParams(); params.setMargins(0, 0, 10, 0); //substitute parameters for left, top, right, bottom tv.setLayoutParams(params); 

你可以这样做:

 TextView text = (TextView) findViewById(R.id.text); LinearLayout.LayoutParams params= new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); params.setMargins(left, top, right, bottom);//pass int values for left,top,right,bottom text.setLayoutParams(params); 
 TextView tv = (TextView) findViewById(R.id.tvId); LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); llp.setMargins(50, 0, 0, 0); // llp.setMargins(left, top, right, bottom); tv.setLayoutParams(llp); 

请注意,并非所有的LayoutParams都有方法setMargins();

RelativeLayout,LinearLayout等有自己的内部类的LayoutParams,所以setMargins的可用性并不总是可用的。

试试这个:它的工作….

 LinearLayout.LayoutParams Params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WrapContent, LinearLayout.LayoutParams.WrapContent); Params.SetMargins(0, 10, 0, 0); FirstName.LayoutParameters = Params; 

您可以使用LinearLayout.LayoutParams上的setMargins() 。 请参阅此StackOverflow问题的答案以获取更多信息。

  TextView tv = (TextView)findViewById(R.id.item_title)); RelativeLayout.LayoutParams mRelativelp = (RelativeLayout.LayoutParams) tv .getLayoutParams(); mRelativelp.setMargins(DptoPxConvertion(15), 0, DptoPxConvertion (15), 0); tv.setLayoutParams(mRelativelp); private int DptoPxConvertion(int dpValue) { return (int)((dpValue * mContext.getResources().getDisplayMetrics().density) + 0.5); } 

textview的getLayoutParams()应该基于xml中的textviewParent被转换为相应的Params。

 <RelativeLayout> <TextView android:id="@+id/item_title"> </RelativeLayout> 

如果TextView的父类是RelativeLayout,则意味着RelativeLayout.LayoutParams如上。 如果父母是LinearLayout则意味着那么

 LinearLayout.LayoutParams mLinearlp = (LinearLayout.LayoutParams) tv .getLayoutParams(); 

要在不同的设备上显示相同的实际大小,请使用上面使用的DptoPxConvertion()方法。 setMargin(左,上,右,下)params将会以像素为单位,而不是在dp中