- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
好吧,在花了几个小时寻找解决方案之后,我来到了这里。
我认为这可能是 Android 的问题。
尝试创建这个简单的布局。打开键盘,隐藏,再打开,EditText就隐藏了。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="300dp"
android:gravity="center"
android:inputType="phone"
android:maxLength="14"
android:text="some text"
android:textColor="#666666"
android:textSize="22sp" />
</RelativeLayout>
现在,删除 android:gravity="center"
一切正常!在你问我之前,是的,我已经添加了 android:windowSoftInputMode="adjustPan"
任何解决方案将不胜感激!谢谢
最佳答案
我最近在 Nexus 7 手机上处理了这个问题。在我们的任何其他测试手机上都没有发生这种行为。诀窍似乎是在关闭软键盘之前改变焦点。键盘在 3 个位置关闭 - 单击“完成”按钮、单击编辑文本框外部以及单击后退按钮。
首先,创建一个隐藏元素来吞噬你的注意力
<MyEditText
android:id="@+id/editHidden"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_below="@id/imageLogin"
/>
我存储了这个但是有点难看...
@Override
protected void onResume() {
super.onResume();
Utils.focusable = findViewById(R.id.editHidden);
现在,当键盘关闭时,将焦点转移到隐藏的元素上。
public static void clearFocus() {
try {
if (focusable!=null)
focusable.requestFocus();
} catch (Exception e) {}
}
public static void hideSoftKeyboard(View view) {
clearFocus();
if (view!=null) {
try {
InputMethodManager inputMethodManager = (InputMethodManager) view.getContext().getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
} catch (Exception e) {}
}
}
然后在键盘关闭的地方运行hideKeyboard函数:按下 EditText 后退按钮:
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event)
{
if(keyCode == KeyEvent.KEYCODE_BACK)
{
try {
Utils.clearFocus();
} catch (Exception e) {}
}
return super.onKeyPreIme(keyCode, event);
}
按下完成按钮,将其附加到出现问题的任何 EditText 框:
public static OnEditorActionListener getOnEditorActionListener() {
return new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId==EditorInfo.IME_ACTION_DONE){
hideSoftKeyboard(v);
}
return false;
}
};
}
在文本框外单击 - 在 onCreate() 中附加到页面上的所有元素;
public static void setupUI( View View ){
try {
//Set up touch listener for non-text box views to hide keyboard.
if(!(view instanceof EditText)) {
view.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
hideSoftKeyboard(v);
return false;
}
});
}
//If a layout container, iterate over children and seed recursion.
if (view instanceof ViewGroup) {
for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
View innerView = ((ViewGroup) view).getChildAt(i);
setupUI(innerView);
}
}
} catch (Exception e) {}
虽然很乱,但确实解决了问题,希望有更好的方法。
关于android - android :gravity ="center" - Android时键盘隐藏的EditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18295290/
我是设计师而不是开发人员。 我正在使用重力形式。我有一个简单的重力形式: 【姓名】 【电话】 [邮箱] 【留言】 我想确保至少有一个 [phone]或 [email]已输入,而不是要求两者都填写。 重
我有一个多页重力表,它通过单选按钮呈现一系列问题。 Which of the following would you choose? o Choice #1 o Choice #2
由于某些 ROM 上某些三星设备中 EditText 中希伯来语 (RTL) 的问题:当重力设置为 Right 或 Left 时,光标停留在 EditText 的右侧,不会随着插入的文本移动。 Gra
我从 ROS 中的 URDF 导入了 webots 仿真中的模型。该机器人是一个带 3 个脚轮的三轮车驱动装置。我遵循了 webots 样式指南中的轮子样式并进行了相应更改。我的问题是,当我运行模拟时
我有一些代码应该使按钮中的文本居中,但文本并没有完全居中对齐。它位于底部一点。我该如何解决这个问题? wrap_content 34dp 0.5 #ffff
android:gravity 属性的 'bottom' 和 'end' 常量有什么区别? 我知道这里有官方文档,但我不确定实际含义是什么: http://developer.android.com/
我已经更新了这个问题,因为这可能是由于重力形式导致简单函数无法工作。我这么说的原因是因为我尝试了很多选项(如下所列)来触发 jQuery 函数,但没有一个在应该起作用的时候起作用。 我有一个简单的函数
我有一个包含 20 多个站点的 WordPress 多站点网络。我正在使用重力表格作为联系/注册/订阅表格。我想为我的 wordpress 多站点安装创建全局表单。重力表单是否可能仅将表单条目保存到主
有人能告诉我如何从提交的包含列表字段的表单中提取值吗? 我正在尝试使用 Gravity Forms 创建一个前端发布表单,然后将提交的值分配给使用 Advanced Custom Fields 创建的
我有一个以图像为项目的微调器,问题是它们被推到了左边。我认为这是旋转器的常见问题。我以前已经解决过这个问题,但仅限于 TextView ,而不是图像。如何将图像移动到下拉微调菜单的中心? 这是我的自定
搜索了一整天,想出了一个我认为很糟糕的解决方案。 我想在屏幕的右侧放置三个 ImageButton。 不居中但刚好高于中心位置.. 使用下面的代码我得到了我想要的结果,但是, 如果用户有更大的屏幕,他
我无法通过 Imageview 获得 android:gravity 选项,但我可以通过 Textview 获得它。 我的代码有什么问题吗? 如果我将其更改为 Textvi
我已经添加了 CSS,前四个规则有效,但第五个规则不符合要求。我已经玩了几个小时了,似乎无法弄明白。谁能看到我看不到的明显问题? .gform_wrapper .top_label li.gfi
当使用 Gravity Forms 作为电子邮件捕获弹出窗口时,如何在用户单击字段(名称、电子邮件等)时自动清除它们?就目前而言,他们必须单击,选择“名称”,然后将其删除,然后才能输入自己的信息。 最
我有以下 xml 文件 具有以下设计。 难道 button 不应该也垂直放置在中心吗?我知道 layout_gravity 和 gravity 是如何工
几天来我一直在尝试将微调器中的文本右对齐,但每次我都做不到,我试图将 Gravity 设置为正确,或将 ellipsize 设置为结束,但没有任何效果,我只有这个: 你能帮忙解决这个问题吗? 非常感谢
我有一个具有以下布局的 Activity :
我看到每个人都说你在 Box2D 世界中像这样添加重力: b2Vec2 gravity = b2Vec2(0.0f, -10.0f); bool doSleep = false; world = ne
我使用了演示模拟表盘,并尝试使用 setStatusBarGravity(Gravity.BOTTOM) 让系统指示器出现在底部。似乎没有遵守这种特殊的引力。 setWatchFaceStyle(ne
重力形式允许使用合并标签进行基本的场计算,例如 {Field 1:1} * {Field 2:2} ,但我想使用 if/and/else 语句来设置字段值,例如: if (and ({Field 1:
我是一名优秀的程序员,十分优秀!