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

如何让Entry组件实现多行显示且禁止横向滚动?

实现Android平台多行Entry组件(无横向滚动)

要让Entry组件(对应Android原生的EditText)实现多行显示、自动换行且无横向滚动,按以下方式配置即可:

原生Android布局基础配置

直接在XML布局里给EditText设置关键属性,就能达到示意图右侧的效果:

<EditText
    android:id="@+id/multiLineEntry"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine" <!-- 开启多行输入模式 -->
    android:scrollHorizontally="false" <!-- 禁用横向滚动 -->
    android:minLines="1" <!-- 默认至少显示1行 -->
    android:maxLines="5" <!-- 按需设置最大行数,超出后将出现纵向滚动 -->
    android:gravity="top|left" <!-- 文本从左上角开始排版 -->
    android:hint="输入内容..." />

动态自适应高度(可选)

如果需要让高度完全随内容行数自动调整(无最大行数限制),可以给EditText添加文本变化监听,实时计算并调整高度:

EditText editText = findViewById(R.id.multiLineEntry);
editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        editText.setHorizontallyScrolling(false);
        editText.setSingleLine(false);
        // 延迟计算高度,确保文本已完成更新
        editText.post(() -> {
            int lineCount = editText.getLineCount();
            if (lineCount > 0) {
                float lineHeight = editText.getLineHeight();
                // 计算总高度:行高×行数 + 上下内边距
                int totalHeight = (int) (lineHeight * lineCount + editText.getPaddingTop() + editText.getPaddingBottom());
                editText.setHeight(totalHeight);
            }
        });
    }

    @Override
    public void afterTextChanged(Editable s) {}
});

若使用Xamarin.Forms框架

对应的Entry组件配置如下,同样能实现多行自适应、无横向滚动:

<Entry
    HorizontalOptions="Fill"
    VerticalOptions="Start"
    Keyboard="Text"
    LineBreakMode="WordWrap"
    HeightRequest="Auto"
    Placeholder="输入内容..." />

配置完成后,组件会自动将超出宽度的文本换行,不会出现横向滚动条,高度随内容行数自动调整,和你需要的效果一致。

内容的提问来源于stack exchange,提问作者Manos Stg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 22:25:09