如何以编程方式在 NestedScrollView 中显示滚动条。
Posted
技术标签:
【中文标题】如何以编程方式在 NestedScrollView 中显示滚动条。【英文标题】:How to show the Scrollbar in a NestedScrollView Programatically. 【发布时间】:2018-06-01 20:41:36 【问题描述】:NestedScrollView nestedScrollView = (NestedScrollView) findViewById(R.id.content);
nestedScrollView.setVerticalScrollBarEnabled(true);
setVerticalScrollBarEnabled
在上述代码中不起作用。
【问题讨论】:
您的滚动条会在一段时间后隐藏吗? 不...滚动条本身没有显示 【参考方案1】:有两种方式:
来自 Java 代码: NesteadScrollView.setScrollbarFadingEnabled(true);
来自 XML 代码: android:fadeScrollbars="true"
就这么简单!
【讨论】:
等我更新我的答案 @JohnRubanSingh 在 nesteadscrollview 标签内添加这一行app:layout_behavior="@string/appbar_scrolling_view_behavior"
"layout_behavior" 不起作用...我没有使用协调器布局。为此分享程序化解决方案。【参考方案2】:
经过一些研究,找到了解决此问题的方法。在从 xml 属性调用的 android sdk 视图级别滚动中。执行以下步骤。
第一步:创建一个带有android:scrollbars="vertical"
的xml文件并将其放在xml文件夹中(在res中创建xml文件夹并放置文件)
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:scrollbars="vertical"/>
第二步:在Java文件中,添加如下代码sn-p
NestedScrollView nestedScrollView = new NestedScrollView(getBaseContext(),getAttributeSet());
private AttributeSet getAttributeSet()
AttributeSet attr = null;
try
XmlPullParser parser = getResources().getXml(R.xml.xml);
try
parser.next();
parser.nextTag();
catch (Exception e)
e.printStackTrace();
attr = Xml.asAttributeSet(parser);
return attr;
catch (Exception e)
return attr;
【讨论】:
【参考方案3】:首先在 xml 中为 NestedScrollView 添加属性:android:scrollbars="vertical"
,然后在 java 代码中:
mNestedScrollView.setVerticalScrollBarEnabled(true);
mNestedScrollView.setScrollBarFadeDuration(0);
如果从 xml 中删除:android:scrollbars="vertical"
则它不起作用
【讨论】:
以上是关于如何以编程方式在 NestedScrollView 中显示滚动条。的主要内容,如果未能解决你的问题,请参考以下文章
无法滚动到 NestedScrollView 内的 RecyclerView 中的项目
如何使用 NestedScrollView 滚动以在 SliverAppBar 上使用堆栈圆形头像?
如何在Android中设置NestedScrollView的最大高度?
当 Recyclerview 在 NestedScrollview 中时,如何避免绑定所有项目?