我如何以编程方式改变包括java android布局?



如何以编程方式更改layout="@layout/keyboard"另一种布局是layout="@layout/play_again"。还是有更好的方法?

<include
android:id="@+id/includeKeyboard"
layout="@layout/keyboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginBottom="5dp"
android:layout_weight="1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />

play again

键盘布局

使用片段。为两个包含的布局制作一个片段。然后你可以通过片段事务交换出正在显示的片段。

在我看来,没有办法做到这一点,必须有这样的东西

<include
android:id="@+id/includeKeyboard1"
layout="@layout/keyboard"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<include
android:id="@+id/includeKeyboard2"
layout="@layout/keyboard2"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

然后在你的代码中你可以做

View includeKeyboard1 = findViewById(R.id.includeKeyboard1);
View includeKeyboard2 = findViewById(R.id.includeKeyboard2);
if(someConditions) {
includeKeyboard1.setVisibility(View.VISIBLE);
includeKeyboard2.setVisibility(View.GONE);
} else {
includeKeyboard1.setVisibility(View.GONE);
includeKeyboard2.setVisibility(View.VISIBLE);
}

最新更新