我有一个ListView(将移至RecyclerView),其ListView Item XML布局在LinearLayout中包含3个TextView。我的用户首选项允许左撇子或右撇子使用。在这种情况下,我想更改“项目布局”文件中TextView的顺序。
这里首选的设计模式是什么?我该怎么办?
只是想学习并以正确的方式做。
您可以尝试在一个xml布局中拥有两组TextView。更改它们的可见性将成为惯用左手或惯用右手的人的窍门。但是,无论如何,这是重复的观点。
或者您可以使用ConstraintLayout并以编程方式更改视图的ConstraintSet取决于选择的首选项。
val constrSet = ConstraintSet()
constrSet.clone(parentLayout)
constrSet.connect(textView1.id, ConstraintSet.END, textView2.id, ConstraintSet.START)
constrSet.applyTo(parentLayout)
Sandi提到的重复帖子非常轻松地完成了我想要的事情,并且没有任何XML文件或代码的重复以重新排列顺序。感谢所有回应并让我来到这里。我只是想确保我发布了对我来说容易工作的内容。
我有一个带有两个不同ListView的TAB,每个都有自己的ListItem XML布局,这在主布局和每个ListItem布局的TabFragment.java的onCreateView中完美地颠倒了顺序!
// Inflate this Tab's checklist XML
root = inflater.inflate(R.layout.tab_fragment, container, false);
if (leftHanded) {
LinearLayout linearLayout = root.findViewById(R.id.tabLinearLayout);
linearLayout.setLayoutDirection(LinearLayout.LAYOUT_DIRECTION_RTL);
}