Android ViewPager更改所有图像

用户名

我正在使用viewpager显示可绘制文件夹中的图像

public int[] mImages = new int[]{
    R.drawable.pic1,
    R.drawable.pic2, R.drawable.pic3};

我想在用户单击按钮时更改所有显示的图像,然后如何更改

    public int[] mImages = new int[]{
    R.drawable.pic1,
    R.drawable.pic2, R.drawable.pic3};

public int[] mImages = new int[]{
    R.drawable.pict7,
    R.drawable.pict8, R.drawable.pict9};

这意味着在单击按钮时更新viewpager图像。这是我的代码

public class MainActivity extends Activity {
ViewPager   viewPager;
public int[] mImages = new int[]{
    R.drawable.pic1,
    R.drawable.pic2, R.drawable.pic3};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
        viewPager = (ViewPager) findViewById(R.id.view_pager);



ImagePagerAdapter   adapter = new ImagePagerAdapter();
    viewPager.setAdapter(adapter);


}



private class ImagePagerAdapter extends PagerAdapter {

    @Override
    public int getCount() {
        return mImages.length;
    }
    public int getImageId(int pos){return mImages[pos];}
    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == ((ImageView) object);
    }
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        ((ViewPager) container).removeView((ImageView) object);
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {


        Context context = MainActivity.this;
        final ImageView imageView = new ImageView(context);



        int padding = context.getResources().getDimensionPixelSize(
            R.dimen.padding_medium);
        imageView.setPadding(padding, padding, padding, padding);
        imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
        imageView.setImageResource(mImages[position]);
        ((ViewPager) container).addView(imageView, 0);


        return imageView;

}
        public void slideToRight(View view){

        TranslateAnimation animate = new TranslateAnimation(0,view.getWidth(),0,0);

        animate.setDuration(3000);
        animate.setFillAfter(true);
        view.startAnimation(animate);
        view.setVisibility(View.GONE);
    }
    // To animate view slide out from right to left
    public void slideToLeft(View view){
        TranslateAnimation animate = new TranslateAnimation(0,-view.getWidth(),0,0);
        animate.setDuration(3000);
        animate.setFillAfter(true);
        view.startAnimation(animate);
        view.setVisibility(View.GONE);

        animate.setAnimationListener(new AnimationListener() {

                @Override
                public void onAnimationStart(Animation animation) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onAnimationRepeat(Animation animation) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onAnimationEnd(Animation animation) {




                }
            });
}
    }   
    @Override
public boolean     onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
@Override  
public boolean onOptionsItemSelected(MenuItem item) {  

    switch(item.getItemId())  {  
        case R.id.item:  
            Toast.makeText(getApplicationContext(), "here i want to change the viewpager all images", Toast.LENGTH_SHORT).show();


    }return false;
}}
Omid Heshmatinia

只需更改您的数据集,然后重新制作适配器即可。

@Override  
public boolean onOptionsItemSelected(MenuItem item) {  

switch(item.getItemId())  {  
    case R.id.item: 
       mImages = new int[]{R.drawable.pict7,R.drawable.pict8, R.drawable.pict9};
       ImagePagerAdapter   adapter = new ImagePagerAdapter();
       viewPager.setAdapter(adapter);
    break;
}
return false;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章