2016-04-04 6 views
1

私はこのリストレイアウトを私のリストビューに入れました。TextViewの順番をLinearLayoutの順に変更したいと思います。ここでは、それがどのように見えるのですAndroidの変更レイアウトの注文

<LinearLayout 
    android:id="@+id/content" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:orientation="horizontal"> 

    <LinearLayout 
     android:id="@+id/contentWithBackground" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/out_message_bg" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/tvMessage" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:textColor="@android:color/black" 
      android:text="TEST TEST" 
      android:padding="@dimen/default_layout_padding" 
      android:maxWidth="260dp" /> 

    </LinearLayout> 

    <TextView 
     android:id="@+id/tvInfo" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="left" 
     android:textSize="12sp" 
     android:text="23:21" 
     android:textColor="@android:color/darker_gray" /> 

</LinearLayout> 

そして、私は

<LinearLayout 
    android:id="@+id/content" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/tvInfo" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right" 
     android:textSize="12sp" 
     android:text="23:21" 
     android:textColor="@android:color/darker_gray" /> 

    <LinearLayout 
     android:id="@+id/contentWithBackground" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/out_message_bg" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/tvMessage" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:textColor="@android:color/black" 
      android:text="TEST TEST" 
      android:padding="@dimen/default_layout_padding" 
      android:maxWidth="260dp" /> 

    </LinearLayout> 

</LinearLayout> 

、このレイアウトを変更することは、プログラムだけでこれを実行することが可能ですか?

+0

@SelçukCihanここに投稿する前にその投稿を見ました。しかし、ビューを削除して追加する以外の方法がない場合は、重複しているとマークします。 –

答えて

1

非常に単純です。 2つの空のLinearLayoutsを作成し、それにViewを動的に追加するだけです。

<LinearLayout 
android:id="@+id/content" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_alignParentLeft="true" 
android:orientation="horizontal"> 

<LinearLayout 
    android:id="@+id/layout1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"/> 

<LinearLayout 
    android:id="@+id/contentWithBackground" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/out_message_bg" 
    android:orientation="vertical"> 

    <LinearLayout 
    android:id="@+id/layout2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <TextView 
     android:id="@+id/tvMessage" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:textColor="@android:color/black" 
     android:text="TEST TEST" 
     android:padding="@dimen/default_layout_padding" 
     android:maxWidth="260dp" /> 
    </LinearLayout> 
</LinearLayout> 

<TextView 
    android:id="@+id/tvInfo" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="left" 
    android:textSize="12sp" 
    android:text="23:21" 
    android:textColor="@android:color/darker_gray" /> 

</LinearLayout> 

ここで、単にlayout2のremoveAllViewsを呼び出し、layout1のaddView(textView)を呼び出します。

+0

あなたのソリューションに感謝します。しかし、私はむしろ、線形レイアウトにインデックスを戻してビューを削除して追加することになります。 –

関連する問題