当两个textView以编程方式具有不同的样式时,如何在两个textView之间断开一条线

时间:2016-10-10 23:16:30

标签: android textview

我正在构建一个电子商务应用的购物车视图,我想要构建一个视图,其中我的产品名称应该是粗体和更大的文本大小,并且根据该文本大小的产品的小描述应该在那里,但我面临的问题是在这两个textViews之间打破一条线。我的代码是这样的

for (int j=0;j< productsize;j++){
            String pName = ct.getProducts(j).getProductName();
            int pPrice = ct.getProducts(j).getProductPrice();
            String desc = ct.getProducts(j).getProductDesc();
            LinearLayout la = new LinearLayout(this);
            la.setOrientation(LinearLayout.HORIZONTAL);
            TextView tv = new TextView(this);
            tv.setText(" " + pName + " ");//first textView
            tv.setTypeface(null, Typeface.BOLD);
            tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 22F);
            la.addView(tv);

            TextView des = new TextView(this);//second textView
            des.setText("" + desc + "");

            la.addView(des);


 final Button btn1 = new Button(this);
            btn1.setId(j+1);
            btn1.setText("Add to Cart");
            btn1.setLayoutParams(params);
            final int index = j;
            btn1.setOnClickListener(new View.OnClickListener()
            {
                public void onClick(View v) {
// TODO Auto-generated method stub
                    Log.i("TAG", "index:"+index);
                    ModelProducts productsObject = ct.getProducts(index);
                    if(!ct.getCart().CheckProductInCart(productsObject)){
                        btn1.setText("Item Added");
                        ct.getCart().setProducts(productsObject);
                        Toast.makeText(getApplicationContext(), "New CartSize:" +ct.getCart().getCartsize(),Toast.LENGTH_LONG).show();
                    }else{
                        Toast.makeText(getApplicationContext(), "Products"+(index+1)+"Already Added",Toast.LENGTH_LONG ).show();
                    }
                }
            });
            la.addView(btn1);
            layout.addView(la);
        }

任何人都可以帮助我,请提前感谢。

2 个答案:

答案 0 :(得分:1)

尝试更改此行:

la.setOrientation(LinearLayout.VERTICAL);

到此:

TextViews

<强>更新

如果您希望两个Button垂直对齐且RelativeLayout水平对齐,则需要使用LinearLayouts或两个LinearLayouts

使用两个<LinearLayout with horizontal orientation.... ..... <LinearLayout with vertical orientation.... ... <TextView..... <TextView ..... </LinearLayout> <Button ..... </LinearLayout> ,您可以尝试形成如下结构:

LinearLayout

这样,水平方向的根LinearLayout将有两个孩子,即Button垂直方向和{{1}}。

我希望这会对你有所帮助。

答案 1 :(得分:0)

尝试更改此

la.setOrientation(LinearLayout.HORIZONTAL);

到这个

la.setOrientation(LinearLayout.VERTICAL);

尽管如此,我不知道是否有必要以编程方式构建您的UI,但您可以使用布局XML轻松/更好地实现标题 - 字幕文本视图,您可以在其中预览UI的外观。 / p>