EditText减少上面的布局

时间:2017-12-06 01:45:53

标签: android android-layout layout android-edittext

我找了类似的问题,但最终无法解决我的问题

我的活动底部有 editText ,而 viewPager 上面有 listView

问题是当我关注editText甚至隐藏在横向中时, listView 被最小化。当我点击它聚焦的editText时,它会减少 Fragment的高度,包括listView。

尽管我的 viewPager 被约束性地附加到 editText 并且viewPager的 Fragment 高度设置为match_parent,但是有一个 listView 与底部 editText 之间存在巨大差距。

我在底部editText和listView之间唯一看到的是viewPager的Background。所以它实际上是片段的布局调整大小。

我注意到当我将editText的高度设置为常量值时问题就消失了。事实是我需要在wrap_content上使用它,因为我正在使用多行属性,因此我需要使用editText进行扩展。

完全疯狂的是两个元素之间的差距取决于editText的提示长度。在下面的屏幕截图中,它设置为“消息”,但如果我设置更长的提示,如“新消息”,差距将大得多!

以下是活动布局的一部分

<android.support.v4.view.ViewPager
    android:id="@+id/viewPager"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:background="@color/colorAccent"
    app:layout_constraintBottom_toTopOf="@id/LayoutMsgBar"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@id/navigationBar" />


<android.support.constraint.ConstraintLayout
    android:id="@+id/LayoutMsgBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/darkGrey"
    android:focusableInTouchMode="true"
    android:theme="@style/msgBar"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@id/viewPager">

    <EditText
        android:id="@+id/editTextMsg"
        android:layout_width="0dip"
        android:layout_height="wrap_content"

        android:layout_weight="1"
        android:background="@android:color/transparent"
        android:hint="@string/nv_msg"
        android:inputType="textMultiLine|textCapSentences"

        android:maxLength="2000"
        android:maxLines="4"
        android:paddingBottom="10dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"

        android:paddingTop="10dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/sendButton"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintStart_toEndOf="@+id/moreButton"
        app:layout_constraintTop_toTopOf="parent" />

和视图寻呼机调用的Fragment布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ListView
    android:id="@+id/messagesListView"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


</ListView>

What I have before I swipe or click on the editText

What I get after click on editText then reduce it

我已将viewPager的背景颜色设置为橙色。它没有隐藏listView,它在它下面。

我的观点基本上是我的listView保持附加到bottomBar,所以对于editText

如果你有一个很棒的想法!

1 个答案:

答案 0 :(得分:0)

好吧,我通过用线性布局替换我的底栏constraintLayout来解决它。 我没有得到它,约束是正确的,但是这有效。