gpt4 book ai didi

android - 键盘上方的下一个、上一个、完成按钮

转载 作者:行者123 更新时间:2023-11-30 03:04:03 25 4
gpt4 key购买 nike

我知道这个问题之前有人问过 here .但是没有找到解决办法。

我想要的是在键盘上方有下一步、上一步​​和完成按钮(我知道它模仿iphone键盘,但我很无奈它的要求)。

像这样: here

现在我尝试的是::

所以,我在一个布局中使用了三个按钮并分配了属性 android:alignParentBottom="true"并在 list 中添加 android:windowSoftInputMode="adjustResize"

看起来像这样::
enter image description here

为了使用“下一个”“上一个”按钮,我所做的是:

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();
}
}
});

这让我可以使用下一个和上一个按钮来回移动。

现在的问题::

  1. 我知道它有点脏。请指导是否有更好的方法来使用下一个和上一个按钮来回移动。

  2. 我只想在键盘可见时显示按钮,否则隐藏它们。我该怎么做?

  3. “完成”按钮,我需要隐藏它显示的键盘,为此我尝试了这个,但是,它有时不起作用。 :

    InputMethodManager imm = (InputMethodManager)getSystemService(上下文.INPUT_METHOD_SERVICE);

    if(imm != null){

    imm.toggleSoftInput(0, InputMethodManager.HIDE_IMPLICIT_ONLY);

    }

  4. 如何隐藏建议。

请帮助我。

谢谢。

最佳答案

我知道您说这是一项要求,但这些要求是不可能实现的。首先,没有回调或方法来检查或观察输入法的可见性。人们会建议一些 hack,但它们只是 - hack。你不应该依赖它们。

其次,至于你的焦点遍历,幸运的是 Android 对这类事情有很好的内置支持。查看 nextFocusDown 和 TextView/EditText 上的类似属性。在大多数情况下,您甚至不必指定这些,因为 Android 非常擅长为您确定正确的顺序。如果您需要以编程方式执行此操作,则可以使用 requestFocus() 方法:

editText.requestFocus(View.FOCUS_DOWN);

或者您可以使用 FOCUS_UP 转到上一个 View 。

编辑:此外,您可以使用属性 inputType="text|textNoSuggestions"来摆脱大多数输入法上的建议栏(尽管他们不需要尊重它,而且很多人不需要)。

关于android - 键盘上方的下一个、上一个、完成按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22110620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com