You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让EditText按需占用空间并与上方内容一同滚动?

解决NestedScrollView内顶部View与EditText共同滚动且EditText占剩余空间的问题

我明白你的需求啦——要让顶部的几个View和下方的EditText能一起滚动,同时EditText要自动占满剩余的空间对吧?这其实可以通过调整NestedScrollView内部的布局结构来实现,下面给你完整的可行方案:

核心思路

用LinearLayout作为NestedScrollView的直接子布局(垂直方向),给EditText设置权重属性,让它自动填充顶部View剩下的空间,同时NestedScrollView会负责处理整体的滚动逻辑。

完整布局代码

<android.support.v4.widget.NestedScrollView
    android:id="@+id/nestedScrollView"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"> <!-- 这个属性很重要,确保子布局能填满ScrollView的视口 -->

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

        <!-- 顶部的若干View,这里示例用两个TextView代替 -->
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:text="顶部View 1"
            android:textSize="18sp"/>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:text="顶部View 2"
            android:textSize="18sp"/>

        <!-- 需要占剩余空间的EditText -->
        <EditText
            android:layout_width="match_parent"
            android:layout_height="0dp" <!-- 必须设为0dp才能让权重生效 -->
            android:layout_weight="1" <!-- 权重设为1,会填充剩余所有空间 -->
            android:hint="请输入内容..."
            android:padding="16dp"
            android:gravity="top"/> <!-- 让文字从顶部开始显示 -->

    </LinearLayout>

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

关键细节说明

  • android:fillViewport="true":给NestedScrollView加上这个属性,确保内部的LinearLayout能撑满ScrollView的高度,这样EditText的权重才能正确计算剩余空间。
  • EditText的layout_height="0dp" + layout_weight="1":这是LinearLayout权重布局的标准用法,让EditText自动占据顶部View之外的所有可用空间。
  • 如果EditText的内容过多,NestedScrollView会自动让整个布局(包括顶部View和EditText)一起滚动,完全符合你的需求。

内容的提问来源于stack exchange,提问作者android developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:37:12