相关疑难解决方法(0)

键盘出现时没有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万
查看次数

单击编辑文本时,在ListiView中显示最后一项

目前我这样做是为了在点击编辑文本后获得listview中最后一项的焦点:

    bodyText.setOnFocusChangeListener(new OnFocusChangeListener() {

        public void onFocusChange(View v, boolean hasFocus) {               
            getListView().setSelection(getListView().getCount());
        }
    });

    bodyText.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
            getListView().setSelection(getListView().getCount());
        }
    });
Run Code Online (Sandbox Code Playgroud)

它工作得很好并抓住了最后一项,问题是软键盘出现并覆盖列表视图中的最后3项.有没有办法显示软键盘出现后的最后一项并调整屏幕大小?谢谢!

android

6
推荐指数
1
解决办法
8469
查看次数