gpt4 book ai didi

android - 如何强制软键盘不在edittext下隐藏textview/counter?

转载 作者:行者123 更新时间:2023-12-04 21:02:27 25 4
gpt4 key购买 nike

问题是 android 键盘在edittext 下隐藏了textview(不是edittext 本身!)在被打开时。

这是我的布局示例:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context=".MainActivity">


<android.support.v4.widget.NestedScrollView
android:id="@+id/nestedScrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<ImageView
android:id="@+id/big_image"
android:layout_width="200dp"
android:layout_height="600dp"
android:layout_centerHorizontal="true"
android:background="@color/colorPrimary"
android:src="@drawable/ic_launcher_foreground"/>


<android.support.design.widget.TextInputLayout
android:id="@+id/comment_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/big_image">

<EditText
android:id="@+id/comment_edittext_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="your comment"
android:imeOptions="actionDone"
android:maxLength="250"/>
</android.support.design.widget.TextInputLayout>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/comment_input_layout"
android:text="0/250"/>
</RelativeLayout>

</android.support.v4.widget.NestedScrollView>
</LinearLayout>

下面的图片可以清楚地说明:

screen without keyboard

actual behavior

expected behavior

我在stackoverflow上发现了几个类似的问题,没有一个有解决方案:(
请帮我解决这个问题!
可以肯定的是,我使用了所有考虑到 android:windowSoftInputMode="adjustPan" 的建议
android:windowSoftInputMode="adjustResize"android:focusableInTouchMode="true"android:fitsSystemWindows="true"或将此 TextView 与edittext布局分开添加,以framelayout为根,

但问题有点复杂。

另一个重要的事情是,这个 编辑文本下方的文本应为
  • 当文本在另一行上时保持在键盘上方
  • 在 edittext 向上滚动时消失(因为它是 edittext 的一部分)。
  • 最佳答案

    我遇到了同样的问题。我已经有log a ticket Material 关于此。
    感谢我出色的同事的建议,我申请的“黑客”是这样的:
    每当呈现布局并单击具有计数器的字段(这是我的布局中的最后一个字段)时,以编程方式将其滚动到底部,以便键盘不再隐藏计数器。

    以下是我的程序的不同代码段,您可以引用:

        override fun onFocusChange(p0: View?, isOnFocus: Boolean) {
    if (isOnFocus.not() && getDescription().isEmpty()) {
    tnDescriptionLayout.error = resources.getString(R.string.description_error_message)
    tnDescriptionLayout.isErrorEnabled = true
    } else {
    tnDescriptionLayout.isErrorEnabled = false

    llayout.postDelayed(object : Runnable {
    override fun run() {
    var v =
    tnDescriptionLayout.findViewById<AppCompatTextView>(R.id.textinput_counter)
    nestedScrollView.smoothScrollBy(0,v.height)
    }

    }, CoreConstants.MINIMUM_VIEW_LOAD_DURATION)
    }
    tvDescription.setText(getDescription())



    lateinit var nestedScrollView: NestedScrollView
    fun change(nestedScrollView: NestedScrollView){
    this.nestedScrollView=nestedScrollView
    }

    paymentOrderContent.change(nestedScrollView = parentView.nestedScrollViewParent)

    我希望这对你有帮助!

    关于android - 如何强制软键盘不在edittext下隐藏textview/counter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56417461/

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