【发布时间】:2014-03-01 14:32:55
【问题描述】:
我知道这个问题是在 here 之前提出的。但是没有找到解决办法。
我想要的是在键盘上方有 Next、Previous 和 Done 按钮 (我知道它模仿 iphone 键盘,但我无助于它的要求)。
像这样:
现在我尝试的是::
所以,我在一个布局中使用了三个按钮并分配了属性android:alignParentBottom="true"
并在清单中添加android:windowSoftInputMode="adjustResize"。
看起来像这样 ::
而我使用“下一个”“上一个”按钮来回移动的操作是:
int next=1,prev=1;
public boolean onTouch(View arg0, MotionEvent arg1){
prev=next=1;
return false;
}
});
edUserName.setOnTouchListener(new View.OnTouchListener(){
public boolean onTouch(View arg0, MotionEvent arg1){
prev=next=2;
return false;
}
});
edCity.setOnTouchListener(new View.OnTouchListener(){
public boolean onTouch(View arg0, MotionEvent arg1){
prev=next=3;
return false;
}
});
btnNext.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0) {
if(next==1){
next++;
prev++;
edUserName.requestFocus();
}else if(next==2){
next++;
prev++;
edCity.requestFocus();
}
}
});
btnPrevious.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0) {
if(prev==2){
prev--;
next--;
edName.requestFocus();
}else if(prev==3){
prev--;
next--;
edUserName.requestFocus();
}
}
});
这让我可以使用下一个和上一个按钮来回移动。
现在的问题::
我知道它有点脏。如果有更好的方法来使用下一个和上一个按钮来回移动,请指导。
我只想在键盘可见时显示按钮,否则隐藏它们。我该怎么做?
-
“完成”按钮,我需要隐藏键盘它的显示,我试过这个,但是,它有时不起作用。 :
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);if(imm != null){imm.toggleSoftInput(0, InputMethodManager.HIDE_IMPLICIT_ONLY);} 如何隐藏建议。
请帮帮我。
谢谢。
【问题讨论】:
-
嘿,您找到解决方案了吗?如果是,请分享。