在我的项目中,我有 3 个 xml 文件。
我的主要布局
和 2 个我想包含在我的主布局中的布局
*big_buttons.xml* >包含大尺寸按钮 *small_buttons.xml* >包含与上面相同的按钮(同样的 id),但它们更小
默认情况下,我希望包含 *big_buttons.xml*,但我希望能够“排除” *big_buttons.xml* 并在 onClickListener 之后以编程方式包含 *small_buttons.xml*
有可能做这样的事情吗?
默认情况下你可以使用setContentView(R.layout.big_buttons);
,然后在你的 onClickListener 中你可以做setContentView(R.layout.small_buttons);
如果您希望排除特定按钮而不是整个 XML,我认为您需要合并 2 个 XML 文件,默认情况下为“大按钮”赋予属性android:visibility="visible"
和“小按钮” android:visibility="gone"
。
然后以编程方式你可以做
Button bigButton = (Button) findViewById(R.id.big_button);
Button smallButton = (Button) findViewById(R.id.small_button);
bigButton.setVisibility("View.GONE");
smallButton.setVisibility("View.VISIBLE");
您将希望使用 GONE 而不是 INVISIBLE,因为 GONE 不包括高度和宽度等布局功能,其中 INVISIBLE 只是不显示按钮,而是为其保留空间。
查看View.setVisibility。您可以在布局管理器上使用它,这样您就可以使整个控件组在 Java 代码中可见或不可见。