我在当前项目中使用 Picasso 库 http://square.github.io/picasso/ .一切正常,但我只是不知道如何为从 URL 加载的所有图像实现捏合缩放。老实说,我什至不知道将 onClickListener
放在哪里。
我的应用程序有几个 fragment ,每个 fragment 都有 2 个 Tab
,第一个 Tab
有一个 ListView
,第二个 tab
在 GridView
中显示了一些图片:
宝马.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;
}
示例 GridView 适配器
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或任何其他支持图像操作的。
关于java - 如何在 Picasso 库中实现 Pinch Zoom?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28139005/