Android学习笔记-ScrollView(滚动条)

3.掩蔽滑块

行吗,这几个近乎没什么卵用:

艺术有二种: 一.android:scrollbars=”none”
贰.Java代码设置:scrollview.setVerticalScrollBarEnabled(false);


二.安装滚动的滑块图片

其壹更是简便易行: 垂直大势滑块:android:scrollbarThumbVertical
水平趋势滑块:android:scrollbarThumbHorizontal


大概境遇的一些急需

好的,就不四个个扣文书档案了,直接说其实支出中恐怕会遇见的1部分供给吗:

其它有二个很独立的标题便是:ScrollView和ListView的嵌套难题,这几个松开ListView那一章节
再来讲授~


本节总计:

好的,能体会驾驭的ScrollView的东西就像此多,因为日常那么些用得并不多,1般直接套在外面而已,
此外,难点最多的一般是ScrollView和ListView的嵌套难点~假设有怎么样补充欢迎提议,多谢~

 

参照自文章:http://www.runoob.com/w3cnote/android-tutorial-scrollview.html

1.滚动到底层:

大家能够直接动用ScrollView给大家提供的:fullScroll()方法

scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底层

scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部

除此以外用那东西的时候要小心异步的实物,正是addView后,有极大希望还并未显得完,
纵然那个时候一向调用该措施的话,或然会失效,那就要求协调写handler来更新了~

代码示例:

效果图:

图片 1

完结代码:

布局相比较简单,就不贴了,间接贴MainActivity MainActivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button btn_down;
    private Button btn_up;
    private ScrollView scrollView;
    private TextView txt_show;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        bindViews();
    }


    private void bindViews() {
        btn_down = (Button) findViewById(R.id.btn_down);
        btn_up = (Button) findViewById(R.id.btn_up);
        scrollView = (ScrollView) findViewById(R.id.scrollView);
        txt_show = (TextView) findViewById(R.id.txt_show);
        btn_down.setOnClickListener(this);
        btn_up.setOnClickListener(this);

        StringBuilder sb = new StringBuilder();
        for (int i = 1; i <= 100; i++) {
            sb.append("呵呵 * " + i + "\n");
        }
        txt_show.setText(sb.toString());

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_down:
                scrollView.fullScroll(ScrollView.FOCUS_DOWN);
                break;
            case R.id.btn_up:
                scrollView.fullScroll(ScrollView.FOCUS_UP);
                break;
        }
    }
}

当然除了那种方法还,你仍可以够应用另1种复杂一点的写法:

public static void scrollToBottom(final View scroll, final View inner) {
    Handler mHandler = new Handler();
    mHandler.post(new Runnable() {
        public void run() {
            if (scroll == null || inner == null) {
                return;
            }
            int offset = inner.getMeasuredHeight() - scroll.getHeight();
            if (offset < 0) {
                offset = 0;
            }
            scroll.scrollTo(0, offset);
        }
    });
}  

scrollTo()参数依次为x,y滚到对应的x,y地方!


本节引言:

本节带来的是Android基本UI控件中的第7个:ScrollView(滚动条),或然大家应当叫他
竖直滚动条,对应的别的2个程度方向上的滚动条:HorizontalScrollView,先来一发官方文书档案的链接:ScrollView,大家得以看看类的构造如下:

图片 2

哈哈哈,原来是一个FrameLayout的容器,但是在他的功底上添加了滚动,允许展现的比其实多的始末!

其它,只可以够往里面放置3个子成分,能够是10足的零件,又只怕一个布局包裹着的复杂的层次结构!

貌似对于大概来得不完的情景,我们能够直接在布局的外层套上八个:
ScrollView只怕HorizontalScrollView!就好像此轻易~!


四.设置滚动速度:

那些并从未给我们提供能够一向设置的主意,我们必要协调继续ScrollView,然后重写二个public void fling (int velocityY)的秘籍:

@Override
public void fling(int velocityY) {
    super.fling(velocityY / 2);    //速度变为原来的一半
}

相关文章