如何以编程方式创建垂直线?

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 " />