如何以编程方式创建垂直线?
How to create a vertical line programmatically?
我想用 LinearLayout
创建如下布局:
问题是我看到了除了红色垂直线之外的所有组件。如何以编程方式添加此行?
这是我的代码:
public class TextLinear extends LinearLayout {
mainLinearLayout= new LinearLayout(mcontext);
linearSocial= new LinearLayout(mcontext);
linearSocial.setOrientation(LinearLayout.HORIZONTAL);
lLayout = new LinearLayout(mcontext);
tViewTitle = new TextView(mcontext);
tvMessageFire = new TextView(mcontext);
viewDivider = new View(mcontext);
viewDivider.setLayoutParams(new LayoutParams(5,LayoutParams.WRAP_CONTENT));
viewDivider.setBackgroundColor(Color.RED);
img0=new ImageView(mcontext);
img1=new ImageView(mcontext);
linearSocial.addView(img0);
linearSocial.addView(img1);
linearSocial.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT,Gravity.RIGHT));
lLayout.addView(tViewTitle);
lLayout.addView(tvMessageFire);
lLayout.addView(linearSocial,rightGravityParams);
mainLinearLayout.addView(lLayout);
this.addView(mainLinearLayout);
this.addView(viewDivider);
}
完整代码在这里:http://pastebin.com/gxySsKZ1
我认为问题是 viewDivider
包裹了视图高度,因为里面没有任何东西,所以高度为 0 px,因此它是不可见的。尝试将 LayoutParams.WRAP_CONTENT 替换为 120 或 LayoutParams.MATCH_PARENT.
使用 XML 您可以使用 1 pixel
宽度
的视图
<View
android:layout_width="1dp"
android:layout_height="wrap_content " />
我想用 LinearLayout
创建如下布局:
问题是我看到了除了红色垂直线之外的所有组件。如何以编程方式添加此行?
这是我的代码:
public class TextLinear extends LinearLayout {
mainLinearLayout= new LinearLayout(mcontext);
linearSocial= new LinearLayout(mcontext);
linearSocial.setOrientation(LinearLayout.HORIZONTAL);
lLayout = new LinearLayout(mcontext);
tViewTitle = new TextView(mcontext);
tvMessageFire = new TextView(mcontext);
viewDivider = new View(mcontext);
viewDivider.setLayoutParams(new LayoutParams(5,LayoutParams.WRAP_CONTENT));
viewDivider.setBackgroundColor(Color.RED);
img0=new ImageView(mcontext);
img1=new ImageView(mcontext);
linearSocial.addView(img0);
linearSocial.addView(img1);
linearSocial.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT,Gravity.RIGHT));
lLayout.addView(tViewTitle);
lLayout.addView(tvMessageFire);
lLayout.addView(linearSocial,rightGravityParams);
mainLinearLayout.addView(lLayout);
this.addView(mainLinearLayout);
this.addView(viewDivider);
}
完整代码在这里:http://pastebin.com/gxySsKZ1
我认为问题是 viewDivider
包裹了视图高度,因为里面没有任何东西,所以高度为 0 px,因此它是不可见的。尝试将 LayoutParams.WRAP_CONTENT 替换为 120 或 LayoutParams.MATCH_PARENT.
使用 XML 您可以使用 1 pixel
宽度
<View
android:layout_width="1dp"
android:layout_height="wrap_content " />