Android:重命名 gui 元素与新布局



我是安卓新手,我正在处理以下问题。我需要创建一个按钮,将另外两个具有相似功能的按钮(有点子菜单)分组。因此,假设我们有一个名为"搜索"的按钮,通过单击它,搜索按钮应该消失,并且应该在屏幕上看到两个按钮(例如"google"和"bing")。

因此,我的想法是在同一布局中以编程方式管理所有三个按钮,而不是创建一个新的(临时)布局来显示和处理这两个按钮。就像状态机一样。更准确地说是这样的:

我们按下"搜索"按钮。onClick(View)确定我们在主屏幕上的位置(mode=mainmenu),将搜索按钮重命名为"google"并创建名为"bing"的第二个按钮,或者(mode=submenu)然后调用按钮的功能,因为搜索按钮已经重命名为"google"...

通过按后退按钮 onBackPressed() 检查我们是否在子菜单中(模式=子菜单),然后隐藏"必应"按钮并将"google"重命名为"搜索",否则我们在主菜单中(模式=主菜单),完成活动。

这有意义吗?除此之外,这将产生大量代码,按钮和(子)菜单的数量不断增加,并且进一步更改的可维护性较差。

谢谢!

附言对不起,如果我的英语很糟糕(不是我的母语);-)

这是

太多的代码,需要太多的调试,所以我认为,更好的方法是创建一个新的布局。

好吧,如果您有性能问题或预期可能会出现性能问题(由于 GUI 的复杂性),那么这可能是有意义的。但如果不是,代码简单性比性能的轻微提高更重要。

您可以创建一个在按下"搜索"按钮之前保持不可见(确切地说是消失)的按钮,并重命名原始搜索按钮。它可以工作,如果您在 xml 中设置布局,它将更容易实现。它还为您提供了显示其外观的预览。以编程方式显示小部件将具有难以维护的代码。

但是,更改按钮文本的设计不是一个好的设计。首先,当按下"搜索"时,更改其文本非常混乱。我个人建议您弹出一个选择对话框。或者只是在第一个位置显示两个搜索按钮,除非您真的没有两个按钮的位置。

最新更新