gpt4 book ai didi

android - 约束布局中的 Edittext 多行和 adjustpan ScrollView 不可用

转载 作者:行者123 更新时间:2023-11-30 00:51:29 25 4
gpt4 key购买 nike

我在 constraintsLayout 中的 fragment 中使用了 EditText,但是 editText 没有向上移动当我输入超过屏幕长度的更多行时。

我尝试将“windowSoftInputMode”设置为“adjustPan”和“adjustResize”,尝试设置“isScrollContainer” ” 真假。

我尝试使用 scrollview 并将我的 EditText 设置为其子项。但都有同样的问题。

我的 Activity 不是全屏的。

下面的代码是我的manifest

<activity
android:name=".MainActivity"
android:screenOrientation="userPortrait"
android:windowSoftInputMode="stateVisible|adjustPan">

下面的代码是我的布局,是约束布局。

<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:inputType="textCapSentences|textAutoCorrect|textMultiLine|textWebEditText"
android:ems="10"
android:id="@+id/editText"
android:imeOptions="actionSend"
android:scrollHorizontally="false"
android:saveEnabled="true"
android:scrollbars="vertical"
app:layout_constraintTop_toBottomOf="@+id/textView"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginTop="32dp"
app:layout_constraintHorizontal_bias="0.0"
android:isScrollContainer="false"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:hint="@string/writeYourPostHere"/>

这是我的 fragment 在输入任何内容之前的外观。 appearance of my fragment before typing anything

这是当我输入 20 行带有“行号”的单词“testing”时我的 fragment 的外观,它没有向上移动,其余单词(Testing 18,Testing 19,Testing 20)被隐藏,即使我我还在打字“测试 20”。我希望它向上移动并显示我最后输入的字词。

enter image description here

我已经阅读了以下链接中的答案,但它们看起来都一样,无法解决我的问题。

EditText, adjustPan, ScrollView issue in android

adjustPan not preventing keyboard from covering EditText

Forcing adjustPan in activity containing ScrollView

Android EditText Multiline with SoftInputMode adjustPan

How to avoid soft keyboard pushing up my layout?

Soft keyboard hides parts of fullscreen webview

Android adjustPan is being ignored

最佳答案

我通过以下方法找到了答案。

1)将scrollview放在constraintslayout之外,之前我只是使用scrollviewedittext作为唯一的 child 。

<ScrollView>
<ConstraintsLayout>
<EditText>
</>
</>
</>

2) 对于editText,设置为

android:imeOptions="flagNoExtractUi"

3) 最后,我将此代码放在 fragmentonCreateView 中。

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

关于android - 约束布局中的 Edittext 多行和 adjustpan ScrollView 不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40955486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com