我有一些带有一些视图的布局,其中一个是EditText.布局很容易适合一页,但是当软键盘输出时,布局不会滚动.这是我的布局的概述:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background" >
<ScrollView
android:id="@+id/ScrollView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<CheckBox/>
<TextView/>
<LinearLayout>
<EditText>
<requestFocus />
</EditText>
</LinearLayout>
<TextView/>
<LinearLayout>
<Spinner/>
</LinearLayout>
</LinearLayout>
</ScrollView>
<Button
android:layout_alignParentBottom="true" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
在我的清单中,我已经声明了属性:
android:windowSoftInputMode="adjustResize|stateHidden"
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么它不起作用以及如何确保它确实有效?
提前致谢!
java android android-layout android-softkeyboard android-scrollview
我的问题:从第二次软件键盘显示在屏幕上开始,它完全隐藏了我的EditText.
属性android:windowSoftInputMode ="adjustPan"已在AndroidManifest.xml中指定,但它仅在第一次有效.
我有以下布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="464dp"
android:gravity="top"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp" >
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="10"
android:background="#E3E3E2"
android:gravity="top" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/addListText"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="10"
android:contentDescription="@string/addItemContentDescription"
android:gravity="bottom|center_horizontal"
android:inputType="textLongMessage"
android:textColor="#E3E3E2"
android:visibility="gone" />
<ImageButton
android:id="@+id/addTextListButton"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
android:layout_gravity="right"
android:background="@android:color/transparent"
android:contentDescription="@string/addItemButton"
android:scaleType="fitCenter"
android:src="@drawable/plus_add"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:gravity="bottom|center_horizontal"
android:orientation="horizontal"
android:paddingLeft="16dp"
android:paddingRight="16dp" >
<ImageButton
android:id="@+id/syncListsButton"
android:layout_width="64dp"
android:layout_height="match_parent"
android:src="@android:drawable/ic_popup_sync" />
<ImageButton
android:id="@+id/showOrHide"
android:layout_width="64dp"
android:layout_height="match_parent" />
<ImageButton …Run Code Online (Sandbox Code Playgroud) android android-layout android-softkeyboard android-edittext
我想在AlertDialog解雇后隐藏软键盘,但它仍然可见.这是我的代码:
alert = new AlertDialog.Builder(MyActivity.this);
imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
alert.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
});
Run Code Online (Sandbox Code Playgroud) 我的布局有4个EditText视图和一个提交Button视图.我需要为前3个EditText设置"Next"按钮,为第4个EditText字段设置"Done"按钮,而不是软键盘的"New Line"键.
如何才能做到这一点?
我正在尝试获得一段代码工作,它应该在显示时立即将EditText集中在AlertDialog中,然后自动打开软键盘.相反,它只会使屏幕变暗.
Builder builder = new Builder(this);
final EditText input = new EditText(this);
AlertDialog dialog = builder.create();
builder
.setTitle(R.string.dialog_title_addsubject)
.setMessage(R.string.dialog_addsubject)
.setView(input)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
String value = input.getText().toString();
if (input.getText().toString().trim().length() == 0) {
Toast.makeText(Main.this, R.string.input_empty, Toast.LENGTH_SHORT).show();
} else {
db.insertSubject(value);
getData();
}
}
})
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
input.requestFocus();
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
dialog.show();
Run Code Online (Sandbox Code Playgroud)
我尝试过很多方法,但没有办法.我希望你们能在这里帮助我.提前致谢!
android focus android-softkeyboard android-edittext android-alertdialog
在Android的软键盘上,您可以设置软键盘以显示数字而不是使用az键盘android:inputType="numberDecimal".但是,如果我只想显示顶部数字行1 2 3 4 5 6 7 8 9 0而不是以下行开头,我该怎么办@ # $ % ...?
Thanx听!
我正在尝试使用列表视图和底部的发送消息创建一个活动.问题是,当显示键盘时,而不是推动底部内容,只是隐藏它.我尝试使用adjustPan,但它会向上推孔视图(因此无法查看列表视图的顶部元素以及de actionbar消失).
如果您看一下WhatsApp或Line,其功能是当屏幕底部显示列表的最后一项时,键盘会向上推动列表视图(不会将操作栏或第一个元素移出屏幕),并且当未显示列表的最后一项时(在向上滚动之后),键盘隐藏在底部列表中(正常的adjustResize).
有没有人解决这个问题?
谢谢
编辑:
我将尝试举一个直观的例子:
那么让我们说ListView:
---item 1---
---item 2---
---item 3---
---item 4---
---EditText---
Run Code Online (Sandbox Code Playgroud)
editText不是ListView的一部分,而是在底部对齐的LinearLayout.当显示键盘时,ListView变为这样(第3项和第4项被键盘隐藏):
---item 1---
---item 2---
---EditText---
---Keyboard---
Run Code Online (Sandbox Code Playgroud)
我想得到的是:
---item 3---
---item 4---
---EditText---
---Keyboard---
Run Code Online (Sandbox Code Playgroud)
我已经尝试了android:windowSoftInputMode ="adjustPan".结果是有效的第3和第4项被推高而不再被键盘隐藏.问题是它推送列表视图,但它将其推出屏幕,因此actionBar消失,即使尝试向上滚动,我也看不到显示键盘的第1项和第2项.
希望我解释自己,不是很容易..
谢谢
我正在尝试在Kotlin中编写一个简单的Android应用程序.我的布局中有一个EditText和一个Button.在编辑字段中写入并单击按钮后,我想隐藏虚拟键盘.
有一个流行的问题 关闭/隐藏Android软键盘关于在Java中执行它,但据我所知,应该有一个替代版本的Kotlin.我该怎么办?
我想知道如何View在WhatsApp和Hangout等键盘上添加它.在聊天屏幕中,他们在打开的软键盘顶部插入表情符号视图.

有谁知道如何实现这种行为?
我们在我们的应用程序中应用了新的Android KitKat半透明主题,当键盘出现时,我们遇到了一个奇怪的问题.如果我们不使用新android:windowTranslucentStatus属性,则所有内容都照常工作:屏幕调整大小,并且所有内容都保持可见.但是当我们使用时android:windowTranslucentStatus,屏幕不会调整大小,我们EditText会被键盘隐藏.
问题的一个示例:

屏幕之间的唯一区别在于样式中的属性:
第一个屏幕:
<item name="android:windowTranslucentStatus">false</item>
第二个屏幕:
<item name="android:windowTranslucentStatus">true</item>
我们认为这是Kitkat发布的一个错误,但我们希望您了解这一点.我们有点生气了.当然,如果有人有解决方案,那将是惊人的.
编辑:我刚刚将此问题添加到Android问题跟踪器.您可能有兴趣主演此问题:https://issuetracker.google.com/issues/36986276