Scrollview的使用

使用Scrollview控件可以显示长文字,或者一个屏幕显示不下的一个控件

Activity代码

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private TextView textView;
private ScrollView scrollView;
private Button buttondown;
private Button buttonup;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.linearlayout);
        textView=(TextView)findViewById(R.id.content);
        textView.setText(getResources().getString(R.string.content));
        buttondown=(Button)findViewById(R.id.buttondown);
        buttondown.setOnClickListener(this);
        buttonup=(Button)findViewById(R.id.buttonup);
        buttonup.setOnClickListener(this);
        scrollView=(ScrollView)findViewById(R.id.scroll);
        scrollView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                switch(motionEvent.getAction()){
                    //检测手指在屏幕上滑动的动作
                    case MotionEvent.ACTION_MOVE:{
                    /*
                    * getScrollY()----滚动条滑动的距离
                    * getMeasuredHeight()----总的内容的高度
                    * getHeight()---总的屏幕的高度
                    * */
                    if(scrollView.getScrollY()<=0){
                        Log.i("Main","移动到了顶部");
                    }
                    //检测滑动到底部 :内容的高度<=滑动的高度+屏幕的高度
                    if(scrollView.getChildAt(0).getMeasuredHeight()<=scrollView.getHeight()+scrollView.getScrollY())
                    {
                       textView.append(getResources().getString(R.string.content));
                    }
                    break;
                    }

                }
                return false;
            }
        });
    }

    @Override
    public void onClick(View view) {
       switch (view.getId()){
           case R.id.buttondown:{
               scrollView.scrollBy(0,30);
               break;
           }

           case R.id.buttonup:{
               scrollView.scrollBy(0,-30);
               break;
           }
       }
    }
}

其中1.scrollby的特性是较先前的页面移动的距离

      2.继承Onclicklistener接口的方法,实现监听Button的方法。

      3. 在加入长文本的时候,需要将文本定义在Scrollview之内。

     

 

posted @ 2016-09-19 16:09  EdwardRu  阅读(336)  评论(0编辑  收藏  举报