如何在 LinearLayout 中将一个视图移动到另一个视图下?
How do I shift a View under another View in LinearLayout?
我似乎找不到适合我的问题的关键词。不要与 XML 布局编辑混淆,我可以在 LinearLayout
容器内以编程方式将一个 View
实时移动到另一个 View
下方吗?
这是我的主要布局 XML 文件。只需将两个按钮拖到 UI 编辑器并命名它们就很简单:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:background="#000000"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 2" />
</LinearLayout>
假设我在我的应用程序中做了一些事情,突然 button1
移动到 button2
以下并且 button2
上升了。我怎样才能做到这一点? my1Button.shiftDown();
或类似的东西是否存在?
您需要使用线性布局的子项。像这样:
public void reorderButtons() {
LinearLayout layout = (LinearLayout) findViewById(R.id.main_layout);
View button1 = layout.getChildAt(0);
View button2 = layout.getChildAt(1);
// Remove both buttons
layout.removeAllViews();
// Add the buttons in the order you want
layout.addView(button2);
layout.addView(button1);
}
我似乎找不到适合我的问题的关键词。不要与 XML 布局编辑混淆,我可以在 LinearLayout
容器内以编程方式将一个 View
实时移动到另一个 View
下方吗?
这是我的主要布局 XML 文件。只需将两个按钮拖到 UI 编辑器并命名它们就很简单:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:background="#000000"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 2" />
</LinearLayout>
假设我在我的应用程序中做了一些事情,突然 button1
移动到 button2
以下并且 button2
上升了。我怎样才能做到这一点? my1Button.shiftDown();
或类似的东西是否存在?
您需要使用线性布局的子项。像这样:
public void reorderButtons() {
LinearLayout layout = (LinearLayout) findViewById(R.id.main_layout);
View button1 = layout.getChildAt(0);
View button2 = layout.getChildAt(1);
// Remove both buttons
layout.removeAllViews();
// Add the buttons in the order you want
layout.addView(button2);
layout.addView(button1);
}