Android:为什么TextView中的文本在LinearLayout中滚动而在Recyclerview中滚动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:为什么TextView中的文本在LinearLayout中滚动而在Recyclerview中滚动相关的知识,希望对你有一定的参考价值。

TextView(屏幕A)和RecyclerView(屏幕B)内部有FrameLayout,但两者都有maxLines=10

在RecyclerView中,textview仅呈现10行,并忽略其他文本。

但是LinearLayout中的textview显示了10行,但允许用户滚动。

如何禁用滚动并显示使用maxLines设置的最大行数。

我已经试过了,

  • android:isScrollContainer="false" - 它不起作用
  • android:enabled="false" - 它禁用textview中的超链接点击

更新:

我不希望RecyclerView中的textview滚动,我想仅在LinearLayout中禁用滚动。

答案

试过下面这行?

recyclerView.setNestedScrollingEnabled(false);
另一答案

创建一个NoScrollTextView扩展TextView像这样:

public class NoScrollTextView extends TextView {
    public NoScrollTextView(Context context) {
        super(context);
    }

    public NoScrollTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public NoScrollTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    public NoScrollTextView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }

    @Override
    public void scrollTo(int x, int y) {
        //do nothing
    }
}

然后在xml中使用它:

<com.example.NoScrollTextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:maxLines="10"/>
另一答案

刚上课

 TextView tv = (TextView) view.findViewById(R.id.tv);
  tv.setMovementMethod(null);

并在布局中

              <TextView
                android:id="@+id/tv"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="3dp"
                android:maxLines="8"
                android:text="Lorem Ipsum is simply dummy text of the dummy text of t printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy."
                android:textSize="14sp" />

以上是关于Android:为什么TextView中的文本在LinearLayout中滚动而在Recyclerview中滚动的主要内容,如果未能解决你的问题,请参考以下文章

如果 maxLines = 1,为啥字符 / 剪切 TextView 中的文本?

从android中的对话框更改TextView文本

Android Studio TextView 文本选择处理程序图标位置

如何使文本在 Android TextView 向右对齐

Android 怎么让TextView中的文本居于右下方

如何使文本在 Android TextView 向右对齐