如何解决android studio 中的编辑文本 (SOFT_INPUT_ADJUST_PAN / SOFT_INPUT_ADJUST_RESIZE)
第一张图是 SOFT_INPUT_ADJUST_RESIZE。 屏幕不上去,但编辑文本不可见。
第二张图片用于 SOFT_INPUT_ADJUST_PAN。 editText 是可见的,但屏幕被截断并凸起。
如何使屏幕不被剪切而编辑文本可见?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_chat);
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
layoutParams.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
layoutParams.dimAmount = 0.5f;
getWindow().setAttributes(layoutParams);
Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = (int) (display.getWidth() * 0.85);
int height = (int) (display.getHeight() * 0.85);
getWindow().getAttributes().width = width;
getWindow().getAttributes().height = height;
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);//or resize
解决方法
请问你有全屏风格吗?喜欢:
<style name="AppTheme"
parent="ThemeOverlay.MaterialComponents.MaterialCalendar.Fullscreen">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorMidBlue</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowFullscreen">false</item>
</style>
或者您要在任何地方全屏显示您的活动?
通过从您的代码中删除 FLAG_FULLSCREEN 将解决您的问题。
,您可以将此行添加到您的 AndroidManifest.xml
android:windowSoftInputMode="adjustPan|adjustResize"
或
你也可以像下面这样以编程方式将它添加到java文件中
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
或
您还可以通过在垂直滚动视图中使用设计布局来管理这些内容,因此一旦用户单击编辑文本,页面内容将垂直滚动,您可以看到整个页面。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。