gpt4 book ai didi

Android - 键盘覆盖阿拉伯语/RTL 中的 EditText

转载 作者:太空狗 更新时间:2023-10-29 13:52:50 24 4
gpt4 key购买 nike

我有一个多语言应用程序,当用户点击它时,我希望 EditText 向上滑动(与屏幕的其余部分一起),即 EditText 应该每当显示键盘时,总是在键盘上方可见。

enter image description here

显然,使用 android:windowSoftInputMode="adjustResize" 是可行的。

不幸的是,这似乎只有在应用程序语言为英语时才能正常工作。当用户将应用程序语言更改为阿拉伯语时,EditText 在低于 7.1.1 的所有操作系统版本上第一次在键盘上方滑动.它在 Android 7.1.1 上按预期工作。

enter image description here

这是 Marshmallow 6.0.1 及更低版本的已知问题吗?是否有破解方法或变通方法可以规避此问题?

最佳答案

要解决此问题,您需要创建 customEditText 和覆盖这对我有用。

public class CustomEditText extends android.support.v7.widget.AppCompatEditText {

Context context;

public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
}

@Override
public boolean dispatchKeyEventPreIme(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
public static void hideKeyboard(Context context) {
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.HIDE_NOT_ALWAYS, 0);
}

clearFocus();
}
return false;
}

然后在你的 xml 中添加两行

android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"

关于Android - 键盘覆盖阿拉伯语/RTL 中的 EditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43888515/

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