我已根据this tutorial成功为Android制作了一个非常基本的自定义键盘。
现在我完成了这个,我想知道,是否有可能在Android中制作一个有多个标签的键盘。
一个例子通常是键盘上有字母AZ但是如果用户点击顶部的按钮,键盘将切换到数字1 - 10,如果用户点击顶部的另一个按钮,键盘将切换到希腊语字母。
我可以解释的另一种方法是,无论如何以编程方式更改键盘将使用哪个xml布局文件?
这是一个例子。在这里"标签"是键盘顶部的时钟,笑脸,表冠,花朵,汽车,三角形和文字符号。
答案 0 :(得分:1)
这是一个简单的解决方法。
我使用的服务类包含以下两个变量:
def my_wanted_match(example_set, conditions):
conditions = conditions.items()
match = []
for e in example_set:
if all([c in set(e.items()) for c in conditions]):
match.append(e)
return match
以下是按下按钮时会发生什么的代码:
match = [e for e in example_set
if all([c in set(e.items()) for c in set(conditions.items())])]
该按钮可切换键盘的XML布局。
答案 1 :(得分:0)
我不认为标签是最适合你的方法。
我相信最适合您的方法是为每个布局创建CustomViews,将FrameLayout添加到屏幕并以编程方式将视图添加到布局中,使用removeAllViews删除其他视图。以下是构建CustomViews的教程:http://developer.android.com/intl/pt-br/training/custom-views/index.html
另一种选择是将所有自定义视图添加到布局中,并以编程方式进行更改,这将是可见的。
我不推荐的一个选项是使用片段,片段的生命周期很复杂,只会让你烦恼。