有没有办法可以更改键盘显示的自动完成单词的建议?我想在应用程序中维护一个单独的字典,当用户输入EditText
时,应该显示该字典中的建议。
答案 0 :(得分:2)
答案 1 :(得分:2)
在阅读了几篇帖子之后,我明白如果不实现我自己的键盘就无法完成。所以,我最终实现了一个用于在键盘上显示建议的布局(即在活动视图的底部)。当键盘出现时,它会自动通过键盘。
首先,我使用
关闭EditText
中的默认建议
edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
然后检测键盘是否显示:
myActivityView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int heightDiff = myActivityView.getRootView().getHeight() - myActivityView.getHeight();
if (heightDiff > 180) {
// if more than 180 then its a keyboard
showSuggestions();
}else{
//keyboard gone...
// hide suggestion layout
}
}
});
我添加了100毫秒的延迟,以便键盘隐藏其默认建议布局,以防它显示。
private void showSuggestions(){
myActivityView.postDelayed(new Runnable() {
@Override
public void run() {
mySuggestionLayout.setVisibility(View.VISIBLE);
}
}, 100);
}
答案 2 :(得分:1)
Android开发网站上有一个教程,解释了这一点。请参阅此处的链接:http://developer.android.com/guide/topics/search/adding-custom-suggestions.html