NestedScrollView中的TextView被一个底线切断

问题描述 投票:0回答:1

我有一个ViewPager项目,如下所示:

<android.support.v4.widget.NestedScrollView 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="16dp"
    android:paddingLeft="@dimen/material_horizontal_margin"
    android:paddingRight="@dimen/material_horizontal_margin"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView
        android:id="@+id/group_footer_pager_item_info"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="left"/>

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

TextView的文本可能非常长,但它的长度确实无关紧要,如果它足够大以便滚动 - 文本的最后一行根本不可见。

可能是什么原因?

android textview height nestedscrollview
1个回答
2
投票

我阅读并尝试了stackoverflow上的所有内容,其中包括以下帖子:

Android: Last line of textview cut off [1]

Android Textview text cut off at bottom [2]

TextView in List is cut off [3]

没有任何解决方案有效,除了Rubin Yoo的解决方案不是确切的,但类似于[1]的问题。虽然我当时没有看到它,并且可能不会尝试它,因为情况完全不同,所以我继续搜索并找到了这个链接:

https://www.reddit.com/r/androiddev/comments/4c6ri4/long_text_in_a_nestedscrollview/

这是一个完美的打击。因此,正如规则中所要求的,以下是其中的答案片段:

将textview放在FrameLayout中 - @ samyboy89

我同意的可能解释是:

我认为这是滚动视图无法正确计算需要滚动的高度的问题。使用框架布局,它只获得框架布局的高度,这正确地计算出文本视图的高度。 - @Nintynien

所以工作布局是:

<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.NestedScrollView android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="16dp"
    android:paddingLeft="@dimen/material_horizontal_margin"
    android:paddingRight="@dimen/material_horizontal_margin"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- FrameLayout is needed for the correct TextView's height
         calculation. As without it the last line would be cut off.-->
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/group_footer_pager_item_info"
            style="@style/RobotoRegular.Black.Big"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="left"/>

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

花了一个小时,所以我认为它可以帮助将来的人。

祝你今天愉快!

© www.soinside.com 2019 - 2024. All rights reserved.