如何在Picasso库中实现Pinch Zoom?

前端之家收集整理的这篇文章主要介绍了如何在Picasso库中实现Pinch Zoom?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我目前的项目 http://square.github.io/picasso/中使用Picasso库.一切都运行正常,但我无法弄清楚如何为从URL加载的所有图像实现Pinch Zoom.说实话,我甚至不知道在哪里放置onClickListener.
我的应用程序有几个片段,每个片段都有2个选项卡,第一个选项卡有一个ListView,第二个选项卡有一些显示在GridView中的图片

Bmw.java

public class Bmw2 extends Fragment {

    @Override

    public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
        View rootView = inflater.inflate(com.zenyt.R.layout.bmw2,container,false);

        GridView gv = (GridView) rootView.findViewById(R.id.grid_view);
        gv.setAdapter(new com.zenyt.SampleGridViewAdapter(getActivity()));
        gv.setOnScrollListener(new SampleScrollListener(getActivity()));


        return rootView;
    }

SampleGridViewAdapter

public final class SampleGridViewAdapter extends BaseAdapter {
    private final Context context;
    private final List<String> urls = new ArrayList<String>();

    public SampleGridViewAdapter(Context context) {
        this.context = context;

        // Ensure we get a different ordering of images on each run.
        Collections.addAll(urls,Data.URLS);
        Collections.shuffle(urls);

    }

    @Override public View getView(int position,View convertView,ViewGroup parent) {
        SquaredImageView view = (SquaredImageView) convertView;
        if (view == null) {
            view = new SquaredImageView(context);
            view.setScaleType(CENTER_CROP);
        }

        // Get the image URL for the current position.
        String url = getItem(position);

        // Trigger the download of the URL asynchronously into the image view.
        Picasso.with(context) //
                .load(url) //
                .placeholder(R.drawable.placeholder) //
                .error(R.drawable.error) //
                .fit() //
                .tag(context) //
                .into(view);

        return view;
    }

    @Override public int getCount() {
        return urls.size();
    }

    @Override public String getItem(int position) {
        return urls.get(position);
    }

    @Override public long getItemId(int position) {
        return position;
    }
}

Data.java

final class Data {
    static final String BASE = "http://www.hdcarwallpapers.com/walls/";
    static final String BASE2 = "http://www3.cellsea.com//content/wallpaper/";
    static final String EXT = ".jpg";
    static final String[] URLS = {
            BASE + "prior_design_audi_r8_gt850-wide" + EXT,BASE + "2015_audi_rs6_avant_exclusive-wide" + EXT,BASE + "2015_audi_tt_coupe_quattro-wide" + EXT,BASE + "2014_audi_prologue_concept_4-wide" + EXT,BASE2 + "2010/WP4ce483c6efa9d" + EXT,};

    private Data() {
        // No instances.
    }
}

对不起我的英语不好.

解决方法

Picasso库仅用于从网络加载图像.

您需要使用其他库(例如PhotoView或其他支持图像操作的库)来处理您的请求.

猜你在找的Android相关文章