簡體   English   中英

如何在畢加索庫中實現雙指縮放?

[英]How to implement Pinch Zoom in Picasso library?

我在我當前的項目http://square.github.io/picasso/ 中使用 Picasso 庫。 一切正常,但我無法弄清楚如何為從 URL 加載的所有圖像實現捏縮放。 老實說,我什至不知道在哪里放置onClickListener 我的應用程序有幾個片段,每個片段都有 2 個Tabs ,第一個Tab有一個ListView ,第二個tab有一些顯示在GridView圖片:

寶馬

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;
    }

示例網格視圖適配器

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;
    }
}

數據.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 + "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或任何其他支持圖像操作的庫)來解決您的請求。

PhotoViewAttacher photoViewAttacher;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    ImageView imageView = (ImageView) findViewById(R.id.imageView);

    Picasso.with(this)
            .load("http://easyway-ev.xyz/images/1.png")
            .into(imageView);//Regular
    photoViewAttacher = new PhotoViewAttacher(imageView);}

這是我的答案,我拿了畢加索,在我使用了 photoView 之后,還有這個視頻如何同步 photoView在這里輸入鏈接描述我希望這對你有幫助!

只需使用 TouchImageView 而不是 ImageView。

https://github.com/MikeOrtiz/TouchImageView

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM