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

时间:2015-01-14 10:22:09

标签: android android-linearlayout

我想用LinearLayout创建如下的布局:

enter image description here

问题是我看到了除红色垂直线以外的所有组件。如何以编程方式添加此行?

这是我的代码:

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

2 个答案:

答案 0 :(得分:3)

我认为问题在于viewDivider包裹了视图高度,因为其中没有任何内容,高度为0 px,因此它是不可见的。尝试使用120或LayoutParams.MATCH_PARENT替换LayoutParams.WRAP_CONTENT。

答案 1 :(得分:-1)

使用XML ,您可以使用1 pixel宽度

的视图
<View 
android:layout_width="1dp"
android:layout_height="wrap_content " />