Android 高级组件ScrollView和ViewPager

来源:互联网 发布:埃米特矩阵 编辑:程序博客网 时间:2024/04/27 21:21
ScrollView视图(滚动视图)可以有效的安排这些组件,浏览时可以进行滚屏的操作
垂直滚动——ScrollView
水平滚动——HorizontalScrollView
常用属性:
android:scrollbars=“none”//禁止出现滚动条
取值:none、 horizontal、 vertical

ScrollView是单一容器,只能包含一个组件、但可以进行组件的嵌套

本代码结合了ViewPager组件,简单了实现图片的滑动和上方滚动图标。

代码部分:

<span style="font-size:18px;">public class Scroll_ViewActivity extends AppCompatActivity {    private RadioGroup radioGroup;    private RadioButton rb1;    private ViewPager vw;    private List<PhotoView> myData;    private com.jereh.ch04.Adapter.MyViewPagerAdapter ma;    private HorizontalScrollView scrollView;//Scroll_ViewActivity实现滚动(上下左右)的效果。只能包含单一组件(可以使用布局的嵌套)。//和ViewPager搭配使用,监听Scroll_ViewActivity中RadioButton和ViewPager的 OnPageChangeListener    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);            setContentView(R.layout.activity_scroll__view);        radioGroup = (RadioGroup) findViewById(R.id.radio);        rb1 = (RadioButton)findViewById(R.id.r1) ;        vw = (ViewPager)findViewById(R.id.vp);        scrollView =(HorizontalScrollView)findViewById(R.id.sv);        vpInit();//添加图片的方法;        vw.addOnPageChangeListener(new myOnPageChangeListener());//滑动图片监听        radioGroup.setOnCheckedChangeListener(new myOnCheckedChangeListener());//选择监听    }    public void vpInit(){        myData = new ArrayList<>();        PhotoView img = new PhotoView(this);        img.setImageResource(R.mipmap.p3);        myData.add(img);        img = new PhotoView(this);        img.setImageResource(R.mipmap.p1);        myData.add(img);        img = new PhotoView(this);        img.setImageResource(R.mipmap.p2);        myData.add(img);        img = new PhotoView(this);        img.setImageResource(R.mipmap.p4);        myData.add(img);        img = new PhotoView(this);        img.setImageResource(R.mipmap.p5);        myData.add(img);        img = new PhotoView(this);        img.setImageResource(R.mipmap.p6);        myData.add(img);        img = new PhotoView(this);        img.setImageResource(R.mipmap.p7);        myData.add(img);        img = new PhotoView(this);        img.setImageResource(R.mipmap.p8);        myData.add(img);        img = new PhotoView(this);        img.setImageResource(R.mipmap.p9);        myData.add(img);        img = new PhotoView(this);        img.setImageResource(R.mipmap.p10);        myData.add(img);        ma = new com.jereh.ch04.Adapter.MyViewPagerAdapter(myData);        vw.setAdapter(ma);        vw.setCurrentItem(0);    }    public class myOnCheckedChangeListener implements RadioGroup.OnCheckedChangeListener{        @Override        public void onCheckedChanged(RadioGroup group, int checkedId) {            if(checkedId == R.id.r1){                //应当用此方法                Toast.makeText(getBaseContext(), rb1.getText().toString(),Toast.LENGTH_SHORT).show();                vw.setCurrentItem(0);            } else  if (checkedId == R.id.r2){                Toast.makeText(getBaseContext(),"热点",Toast.LENGTH_SHORT).show();                vw.setCurrentItem(1);            } else  if (checkedId == R.id.r3){                Toast.makeText(getBaseContext(),"聊城",Toast.LENGTH_SHORT).show();                vw.setCurrentItem(2);            } else  if (checkedId == R.id.r4){                Toast.makeText(getBaseContext(),"图片",Toast.LENGTH_SHORT).show();                vw.setCurrentItem(3);            } else  if (checkedId == R.id.r5){                Toast.makeText(getBaseContext(),"烟台",Toast.LENGTH_SHORT).show();                vw.setCurrentItem(4);            } else  if (checkedId == R.id.r6){                Toast.makeText(getBaseContext(),"财经",Toast.LENGTH_SHORT).show();                vw.setCurrentItem(5);            } else  if (checkedId == R.id.r7){                Toast.makeText(getBaseContext(),"体育",Toast.LENGTH_SHORT).show();                vw.setCurrentItem(6);            } else  if (checkedId == R.id.r8){                Toast.makeText(getBaseContext(),"视频",Toast.LENGTH_SHORT).show();                vw.setCurrentItem(7);            } else  if (checkedId == R.id.r9){                Toast.makeText(getBaseContext(),"美女",Toast.LENGTH_SHORT).show();                vw.setCurrentItem(8);            } else  if (checkedId == R.id.r10){                Toast.makeText(getBaseContext(),"亲子",Toast.LENGTH_SHORT).show();                vw.setCurrentItem(9);            }        }      }    public class myOnPageChangeListener implements ViewPager.OnPageChangeListener{        @Override        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {        }        @Override        public void onPageSelected(int position) {         RadioButton radioButton = (RadioButton)radioGroup.getChildAt(position);            radioButton.setChecked(true);            if(position == 5){                scrollView.scrollTo(500,0);//滑动到的坐标            } else if (position == 4){                scrollView.scrollTo(0,0);            }        }        @Override        public void onPageScrollStateChanged(int state) {        }    }}</span>
<span style="font-size:18px;">图片:</span>



0 0
原创粉丝点击