allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.jkdsking:BigPictureview:1.3.5'
}
或者(已经废弃该仓库)
implementation 'com.jkds:BigPicture:1.0.1'(不用添加上面的jitpack库)
protected Transferee transferee;声明
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
transferee = Transferee.init(this);//初始化
setContentView(R.layout.activity_main);
}
@Override
protected void onDestroy() {
super.onDestroy();
transferee.destroy();//资源销毁,防止内存泄漏
}
RecyclerView 使用
TransferConfig recyclerTransConfig = TransferConfig.build()
.setListData()//图片或者视频高清数据源
.setIndexIndicator(new NumberIndexIndicator())//是否显示指示器 传null 表示不显示
.setImageLoader(GlideImageLoader.with(MainActivity.this))
.setMissPlaceHolder()//缺省的占位图(资源ID)
.setErrorPlaceHolder()//图片加载错误显示的图片(资源ID)
.enableScrollingWithPageChange(true)
.bindRecyclerView(recyclerView, R.id.iv_thum);//第一个参数传入RecyclerView 第二个参数 传入 item 布局中的ImageView id
recyclerTransConfig.setLongClickListener(new Transferee.OnTransfereeLongClickListener() {
@Override
public void onLongClick(ImageView imageView, String imageUri, int pos) {
Toast.makeText(MainActivity.this,"长按了"+imageUri,Toast.LENGTH_SHORT).show();
}
});
RecyclerAdapter recyclerAdapter = new RecyclerAdapter();
recyclerAdapter.setOnItemClickListener(new MultiItemTypeAdapter.OnItemClickListener() {
@Override
public void onItemClick(View view, RecyclerView.ViewHolder viewHolder, int pos) {
recyclerTransConfig.setPosition(pos);//显示第几个
transferee.apply(recyclerTransConfig).show();//显示
}
@Override
public boolean onItemLongClick(View view, RecyclerView.ViewHolder viewHolder, int i) {
return false;
}
});
recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
recyclerView.setAdapter(recyclerAdapter);
listview/GridView使用
TransferConfig gridTransConfig = TransferConfig.build()
.setListData()//图片或视频数据源
.setIndexIndicator(new NumberIndexIndicator())//是否显示指示器 传null 表示不显示
.setImageLoader(GlideImageLoader.with(getApplicationContext()))
.enableScrollingWithPageChange(true)
.bindListView(listview/gridView, R.id.iv_thum);//注意 bindListView 可以传入GridView也可以传入listview 第二个参数 传入 item 布局中的ImageView id
gridView.setAdapter(new GridAdapter());
gridView.setOnItemClickListener((parent, view, position, id) -> {
gridTransConfig.setPosition(position);//显示第几个
transferee.apply(gridTransConfig).show();//显示
});
//单个imageview 使用
transferee.apply(TransferConfig.build()
.setListData()//图片或者视频的高清资源
.setImageLoader(GlideImageLoader.with(getApplicationContext()))
.enableJustLoadHitPage(true)//只加载当前显示的图片
.bindImageView(imageView)// imageview控件
).show();
//无view绑定使用
transferee.apply(TransferConfig.build()
.setImageLoader(GlideImageLoader.with(getApplicationContext()))
.setListData()////图片或者视频的高清资源
.setIndexIndicator(new NumberIndexIndicator())//是否显示指示器 传null 表示不显示
.setNowThumbnailIndex(position)//显示第几个
.create()
).show();
Copyright jkdsking BigPictureview
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.