我有这个页面:
但是当打开softWareKeyBoard
时,我看不到其他EditText
。我该怎么办?
注意:我使用下面的代码但没有用。我的class
是extends Fragment
!
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
答案 0 :(得分:2)
有两种方法可以在您的Manifest活动中使用它
它将起作用,调整盘将向上流动表面并打开软键盘
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

<activity android:name="XXXActivity" android:windowSoftInputMode="adjustPan">
</activity>
&#13;
答案 1 :(得分:1)
Use 也可以使用 NestedScrollView
作为父视图。在清单文件中设置 fitsSystemWindows = "false"
并设置 android:windowSoftInputMode="adjustResize"
。
答案 2 :(得分:0)
工作代码
对于片段:
select id,
to_char(data_date, 'YYYY-MM') as yyyymm,
( sum(GS_PX_AMT) +
sum(case when yyyymm_seqnum = 1 then prev_amt else 0
end)
) as double_counted_sum
from (select xxx.*,
lag(GS_PX_AMT) over (partition by id order by data_date) as prev_amt,
row_number() over (partition by id, to_char(next_data_date, 'YYYY-MM') order data_date) as yyyymm_seqnum
from xxx
) x
group by id, to_char(data_date, 'YYYY-MM');
活动:
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
答案 3 :(得分:0)
只需在包含片段的活动的onCreate方法中包含window?.setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)
(这会影响活动中的所有片段)
例如:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
window?.setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE
)
}
答案 4 :(得分:-1)
我用这样的方式以编程方式显示软键盘,这对我起作用,以防止在启动键盘时自动调整屏幕大小。
EditText et = (EditText))findViewById(R.id.edit_text);
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
InputMethodManager inputMethodManager=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInputFromWindow(et.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0);
}
};
timer.schedule(task, 200);
在清单文件中使用:
<activity android:name="XXXActivity" android:windowSoftInputMode="adjustPan">
</activity>