ViewPager中的动态getPageWidth()显示图像

时间:2014-02-02 16:14:25

标签: android imageview android-viewpager

在ViewPager中添加一些图像时,如果图像的宽度不同,则看起来很奇怪。 我可以通过dinamically或其他东西来更新这个宽度以使它看起来正常吗?第一张照片的宽度较大,第二张照片的宽度较小。我怎样才能使它们适合ViewPager? 谢谢。

我看了谷歌播放应用程序,他们做得很好,有谁知道怎么样?

enter image description here enter image description here

import java.util.ArrayList;
import java.util.List;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

public class PhotoPagerFragmentAdapter extends FragmentPagerAdapter {

    private List<String> mimages = new ArrayList<String>();
    private int mCount;

    public PhotoPagerFragmentAdapter(FragmentManager fm, List<String> mimages) {
        super(fm);
        this.mimages = mimages;
        mCount = mimages.size();
    }

    @Override
    public Fragment getItem(int position) {
        String imageUrl = mimages.get(position);
        return PhotoDetailsFragment.newInstance(imageUrl);
    }

    @Override
    public int getCount() {
        return mCount;
    }

    @Override
    public float getPageWidth(int position) {
        return (0.8f); // this is what i modify
    }

    public void setCount(int count) {
        if (count > 0 && count <= 10) {
            mCount = count;
            notifyDataSetChanged();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

@Override
    public float getPageWidth(int position) {
    return (0-1]; //(imageWidth/ScreenWidth)
}

在getPageWidth(..){..}里面你可以有一个switch case / if_else条件来计算(imageWidth / ScreenWidth),你可以使用这个值作为pagewidth返回。