如何以编程方式在 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 中时,如何避免绑定所有项目?

如何在viewPager的视图顶部使用nestedScrollView中的viewpager

滚动 NestedScrollView 时如何获取 recyclerview 的当前项目位置?