0

我是 android 新手,我正在处理以下问题。我需要创建一个按钮,它将另外两个具有相似功能的按钮(某种子菜单)组合在一起。假设我们有一个名为“搜索”的按钮,点击它,搜索按钮会消失,两个按钮(例如“google”和“bing”)应该会出现在屏幕上。

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

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

通过按下返回按钮 onBackPressed() 检查我们是否在子菜单中(mode=submenu)然后隐藏“bing”按钮并将“google”重命名为“search”,否则我们在主菜单中(mode=mainmenu),完成活动。

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

谢谢!

PS对不起,如果我的英语很烂(不是我的母语);-)

4

3 回答 3

0

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

于 2011-05-16T10:20:37.483 回答
0

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

于 2011-05-16T10:16:51.500 回答
0

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

然而,改变按钮文字的设计并不是一个好的设计。首先,当按下“搜索”时,更改其文本非常混乱。我个人建议你弹出一个选择对话框。或者只是首先显示两个搜索按钮,除非你真的没有两个按钮的地方。

于 2014-01-06T07:58:09.570 回答