Android更改布局顺序
我的listview有这个布局,我想以编程方式将Android更改布局顺序,android,Android,我的listview有这个布局,我想以编程方式将TextView的顺序更改为LinearLayout之前和之后。这是它的样子 <LinearLayout android:id="@+id/content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:orien
TextView
的顺序更改为LinearLayout
之前和之后。这是它的样子
<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>
是否可以单独以编程方式执行此操作?非常简单。只需创建两个空的LinearLayout,并将视图动态添加到其中
<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(文本视图)。@SelçukCihan我在这里发布之前看到了这篇文章。但是,如果除了删除和添加视图之外没有其他解决方案,我会将其标记为重复。谢谢您的解决方案。但我更愿意删除视图并将其按索引添加回线性布局。