标签: android-softkeyboard

Android:ScrollView不会滚动键盘输出

我有一些带有一些视图的布局,其中一个是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

43
推荐指数
6
解决办法
6万
查看次数

Android adjustpan在第一次使用后无法正常工作

我的问题:从第二次软件键盘显示在屏幕上开始,它完全隐藏了我的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

41
推荐指数
3
解决办法
1万
查看次数

对话框关闭后隐藏软键盘

我想在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)

keyboard android hide soft-keyboard android-softkeyboard

40
推荐指数
4
解决办法
3万
查看次数

Android软键盘操作按钮

我的布局有4个EditText视图和一个提交Button视图.我需要为前3个EditText设置"Next"按钮,为第4个EditText字段设置"Done"按钮,而不是软键盘的"New Line"键.

如何才能做到这一点?

android android-layout android-softkeyboard

37
推荐指数
2
解决办法
4万
查看次数

使用EditText的AlertDialog,自动打开软键盘并专注于EditText不起作用

我正在尝试获得一段代码工作,它应该在显示时立即将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

37
推荐指数
2
解决办法
3万
查看次数

只显示Android软键盘上的数字按钮?

在Android的软键盘上,您可以设置软键盘以显示数字而不是使用az键盘android:inputType="numberDecimal".但是,如果我只想显示顶部数字行1 2 3 4 5 6 7 8 9 0而不是以下行开头,我该怎么办@ # $ % ...

Thanx听!

android android-softkeyboard

35
推荐指数
4
解决办法
5万
查看次数

键盘出现时没有adjustPan推送列表视图

我正在尝试使用列表视图和底部的发送消息创建一个活动.问题是,当显示键盘时,而不是推动底部内容,只是隐藏它.我尝试使用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项.

希望我解释自己,不是很容易..

谢谢

android android-softkeyboard android-listview

34
推荐指数
2
解决办法
2万
查看次数

使用Kotlin关闭/隐藏Android软键盘

我正在尝试在Kotlin中编写一个简单的Android应用程序.我的布局中有一个EditText和一个Button.在编辑字段中写入并单击按钮后,我想隐藏虚拟键盘.

有一个流行的问题 关闭/隐藏Android软键盘关于在Java中执行它,但据我所知,应该有一个替代版本的Kotlin.我该怎么办?

android android-softkeyboard kotlin

34
推荐指数
9
解决办法
3万
查看次数

如何在WhatsApp等软键盘上绘制视图?

我想知道如何View在WhatsApp和Hangout等键盘上添加它.在聊天屏幕中,他们在打开的软键盘顶部插入表情符号视图.

样本图像

有谁知道如何实现这种行为?

android view android-softkeyboard

33
推荐指数
3
解决办法
2万
查看次数

当android:windowTranslucentStatus = true时,键盘隐藏EditText

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

问题的一个示例: http://fewlaps.com/xtra/quitnowStackoverflow.png

屏幕之间的唯一区别在于样式中的属性:

第一个屏幕: <item name="android:windowTranslucentStatus">false</item>

第二个屏幕: <item name="android:windowTranslucentStatus">true</item>

我们认为这是Kitkat发布的一个错误,但我们希望您了解这一点.我们有点生气了.当然,如果有人有解决方案,那将是惊人的.

编辑:我刚刚将此问题添加到Android问题跟踪器.您可能有兴趣主演此问题:https://issuetracker.google.com/issues/36986276

android android-softkeyboard android-4.4-kitkat

32
推荐指数
2
解决办法
1万
查看次数