我在当前的项目中使用了Picasso库http://square.github.io/picasso/。一切都正常运作,但我不知道如何对所有从URL加载的图片实现Pinch缩放。老实说,我甚至不知道应该把
onClickListener
放在哪里。
我的应用程序有多个片段,每个片段都有两个Tabs
。第一个Tab
有一个ListView
,第二个tab
显示了一些图片在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;
}
示例网格视图适配器
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 + "2015_audi_tt_coupe_quattro-wide" + EXT,
BASE + "2014_audi_prologue_concept_4-wide" + EXT,
BASE2 + "2010/WP4ce483c6efa9d" + EXT,
};
private Data() {
// No instances.
}
}
抱歉我的英语不好。
java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
。 - Alec