【问题标题】:How to do Gallery Images swap Left To right bydefault如何做画廊图像默认从左到右交换
【发布时间】:2014-02-07 09:26:42
【问题描述】:

我有图片库。一开始,我必须从右向左交换才能看到更多图像。我想要默认从左到右淹没的图片库

public View getView(int index, View view, ViewGroup viewGroup)
{
    ImageView img = new ImageView(mContext);
    ShowImgsActivity.pagNumber.setText(index+"");
    img.setImageResource(ShowImgsActivity.typedImgs.getResourceId((ShowImgsActivity.typedImgs.length()-1)-index, -1));
    img.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    img.setScaleType(ImageView.ScaleType.FIT_XY);

【问题讨论】:

    标签: android gallery image-gallery


    【解决方案1】:

    您可以将 ViewPager 用作图片库。它可以让您左右滑动查看上一个和下一个图像。

    这里是 Java 类、布局文件和适配器。

    public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
    ImageAdapter adapter = new ImageAdapter(this);
    viewPager.setAdapter(adapter);
    }
    
    }
    

    布局文件:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    
    <android.support.v4.view.ViewPager
    android:id="@+id/view_pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
    
    </RelativeLayout>
    

    适配器:

    public class ImageAdapter extends PagerAdapter {
    Context context;
    private int[] GalImages = new int[] {
    R.drawable.one,
    R.drawable.two,
    R.drawable.three
    };
    ImageAdapter(Context context){
    this.context=context;
    }
    @Override
    public int getCount() {
    return GalImages.length;
    }
    
    @Override
    public boolean isViewFromObject(View view, Object object) {
    return view == ((ImageView) object);
    }
    
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
    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(GalImages[position]);
    ((ViewPager) container).addView(imageView, 0);
    return imageView;
    }
    
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
    ((ViewPager) container).removeView((ImageView) object);
    }
    }
    

    您可以询问是否有任何进一步的疑问。查看脚蹼是另一种选择。

    编码愉快:)

    参考:here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多