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之内。