2016-10-10 3 views
-3

Ich baue eine Cart-Ansicht für eine E-Commerce-App und möchte eine View erstellen, in der mein Produkt fett und fett sein soll Größere Textgröße und darunter sollte eine kleine Beschreibung des Produkts, die von kleinerer Textgröße ist, vorhanden sein, aber ich stehe vor dem Problem, eine Linie zwischen diesen beiden textViews zu brechen. Mein Code ist etwas wie dasWie man eine Zeile zwischen zwei textViews bricht, wenn beide TextViews programmatisch unterschiedliche Styles haben

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); 
     } 

Kann mir bitte jemand helfen, danke im Voraus.

Antwort

1

Versuchen Sie, diese Zeile zu ändern:

la.setOrientation(LinearLayout.HORIZONTAL); 

dazu:

la.setOrientation(LinearLayout.VERTICAL); 

Aktualisiert:

Wenn Sie die zwei TextViews vertikal ausgerichtet werden sollen und die Button horizontal ausgerichtet, Sie dann müssen eine oder zwei LinearLayouts verwenden.

Mit zwei LinearLayouts Sie können versuchen, die Struktur wie folgt zu bilden:

<LinearLayout with horizontal orientation.... 
..... 
    <LinearLayout with vertical orientation.... 
    ... 
     <TextView..... 
     <TextView ..... 
    </LinearLayout> 
    <Button ..... 
</LinearLayout> 

Auf diese Weise Ihre Wurzel LinearLayout mit horizontaler Ausrichtung hat zwei Kind heißt die LinearLayout mit vertikaler Ausrichtung und die Button.

Ich hoffe, das wird Ihnen helfen.

+0

Nein, ich kann das nicht tun, weil ich auch einen Knopf habe, der in den Warenkorb gelegt wird. –

+0

Wo ist der Knopf? –

+0

Ich habe meinen Code mit dem Button-Code aktualisiert Bitte sehen Sie sich –

0

Versuchen Sie, diese

la.setOrientation(LinearLayout.HORIZONTAL); 

dieser

la.setOrientation(LinearLayout.VERTICAL); 

Obwohl, ich weiß nicht, ob es notwendig ist, Ihre UI programmatisch zu bauen, aber Sie können leicht/Arbeitsgeräte besser, diesen Titel-Untertitel Textansicht mit einem Layout-XML, in dem Sie eine Vorschau der Benutzeroberfläche anzeigen können.

Verwandte Themen