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 中的文本?