如何以编程方式在NestedScrollView中显示滚动条。

时间:2017-12-19 11:59:08

标签: android android-layout android-widget android-scrollview android-nestedscrollview

NestedScrollView nestedScrollView  = (NestedScrollView) findViewById(R.id.content);
nestedScrollView.setVerticalScrollBarEnabled(true);

setVerticalScrollBarEnabled在上面的代码中无效。

3 个答案:

答案 0 :(得分:2)

有两种方式:

来自Java代码的

NesteadScrollView.setScrollbarFadingEnabled(true);

来自XML代码的

android:fadeScrollbars="true"

这很简单!

答案 1 :(得分:0)

经过一些研究发现此问题的解决方法。在android sdk视图级别滚动从xml属性调用。执行以下步骤。

步骤1:使用android:scrollbars="vertical"创建一个xml文件并将其放在xml文件夹中(在res create 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"/>

第2步:在Java文件中,添加以下代码段

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;
        }
    }

答案 2 :(得分:0)

首先在xml add属性中为NestedScrollView添加android:scrollbars="vertical",然后在Java代码中为

mNestedScrollView.setVerticalScrollBarEnabled(true);
mNestedScrollView.setScrollBarFadeDuration(0);

如果从xml中删除android:scrollbars="vertical",则它不起作用