2017-11-07 11 views
-1

私はちょうどTextViewを持っているビューを膨らませています。親ビューはLinearLayoutです。私の親ビューは、次のようになります子ビューに余白を割り当てる

 <LinearLayout 
      android:id="@+id/posmSelectedBrandsLL" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_below="@+id/brandPOSMspinner"/> 

と私の子ビューは、次のようになります

<TextView 
    android:id="@+id/chip12345" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:background="@drawable/tag_background" 
    android:text="TAG" 
    android:layout_marginTop="50dp" 
    android:paddingLeft="10dp" 
    android:paddingTop="10dp" 
    android:paddingBottom="10dp" 
    android:paddingRight="10dp" 
    android:layout_marginLeft="10dp" 
    android:layout_marginRight="10dp" 
    android:textColor="@color/textcolorLogin" 
    android:textSize="22sp" /> 

これは私がビューを膨らまてる方法です:

 final LinearLayout editParentLL = (LinearLayout) findViewById(R.id.posmSelectedBrandsLL); 
     final View editChildView = getLayoutInflater().inflate(R.layout.tag_layout, null); 
     editParentLL.addView(editChildView); 

     TextView tvChip = editChildView.findViewById(R.id.chip12345); 
     tvChip.setText(p.getProductName()); 

と来る結果これは次のようなものです:

enter image description here

私が望むのは、3つのTextViewをお互いから分離することです。したがって、1つのボックスの代わりに、3つの異なるボックスとして表示されます。

私はあなたの助けが必要です。 ありがとうございます。

+0

シングルテキストビューを展開していますか?あなたは同じもので異なる値を取得するか、3つの異なる値に対して3つのテキストビューを使用していますか? – Umair

+0

@Umair、私は単一のテキストビューを膨らませています。実際には、ボタンクリックで子ビューを膨らませています。そのため、ユーザーがボタンを何度もクリックすると、クリックされた項目によって異なる値で子ビューが膨張します。 – 3iL

+0

単一の親で複数の子ビューを展開し、プログラムで余白を設定することができます。下のマークされた答えを見てください。 – 3iL

答えて

2

試着する

final View editChildView = getLayoutInflater().inflate(R.layout.view_add_item_with_details, null); 
     LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); 
     layoutParams.setMargins(10,2,10,2); 
     editChildView.setLayoutParams(layoutParams); 
     editParentLL.addView(editChildView); 

     TextView tvChip = editChildView.findViewById(R.id.chip12345); 
     tvChip.setText(p.getProductName()); 

任意の値を.setMarginメソッドで設定することができます

+0

も参照してください!ありがとう! – 3iL

1

あなたのeditChildView余白を設定するためにLayoutParamsを使用する必要があります。

LayoutParams params = new LayoutParams(
     LayoutParams.WRAP_CONTENT,  
     LayoutParams.WRAP_CONTENT 
); 
params.setMargins(left, top, right, bottom); 
editChildView.setLayoutParams(params); 

詳細はこちらreffer:https://android--code.blogspot.in/2015/05/android-textview-layout-margin.html

あなたが1つずつのTextViewが必要な場合、あなたはOrientation

LinearLayout ll = new LinearLayout(this); 
ll.setOrientation(LinearLayout.VERTICAL); 
のように使用する必要があります
関連する問題