首页 > 解决方案 > 在 LinearLayout 中以相反的顺序添加视图

问题描述

我正在动态地将视图添加到线性布局。我希望视图以相反的顺序排列。就像首先我添加了 RadioButton,然后我添加了 CheckBox,所以我希望 CheckBox 在顶部,然后是 RadioButton。在简单的新添加视图中应显示在顶部。我没有使用 Recyclerview,我也不能。

我已经尝试过 android:layoutDirection,但它只能从 RTL 或 LTR 工作。

这就是我在线性布局中添加它们的方式

CardView cardView = new CardView(this);
LinearLayout.LayoutParams cardParams = new 
LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 
LinearLayout.LayoutParams.WRAP_CONTENT);
cardParams.setMargins(10, 10, 10, 10);
cardView.setLayoutParams(cardParams);
LinearLayout cardLayout = new LinearLayout(this);
cardLayout.setOrientation(LinearLayout.VERTICAL);

cardView.addView(cardLayout);
linearLayout.addView(cardView);

final EditText questionText = new EditText(this);
LinearLayout.LayoutParams textParams = new 
LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 
LinearLayout.LayoutParams.WRAP_CONTENT);
textParams.setMargins(20, 10, 20, 10);
questionText.setPadding(15, 10, 10, 10);
questionText.setText(title);

edtTags.add(questionText);
questionText.setTag(edtTags.size());
questionText.setLayoutParams(textParams);
cardLayout.addView(questionText);

标签: javaandroid-linearlayout

解决方案


根据文档,您可以将索引指定为第二个参数,因此以下将做您想要的

linearLayout.addView(cardView, 0);

推荐阅读