增加QQ,微信独立分享,界面优化

This commit is contained in:
khy
2016-09-14 17:46:18 +08:00
parent b9a2374f8f
commit 385a206f6b
30 changed files with 268 additions and 111 deletions

View File

@ -148,9 +148,15 @@ public class DownloadDialog {
private ViewPager collectionViewPager;
private LinearLayout collectionLinearLayout;
//两个全局变量用来定位收缩集合
private int colseCollectionPosition;
private int colseAdapterPosition;
private int row;
private int column;
private List<int[]> collectionPositionlist;//存储集合位置
public void showPopupWindow(View view,
GameEntity game,
String entrance,
@ -315,6 +321,10 @@ public class DownloadDialog {
// 合并ApkCollection
private void mergeApkCollection(GameEntity game) {
colseAdapterPosition = -1;
colseCollectionPosition = -1;
collectionPositionlist = new ArrayList<>();
collectionAdapterMap = new SparseArray<>();
gameCollection = new ArrayList<>();
gameCollectionApk = new ArrayList<>();
@ -598,8 +608,9 @@ public class DownloadDialog {
private TextView download_item_tv_status;
private TextView download_item_tv_hint;
private ImageView download_item_open_collection;
private ProgressBar download_item_progressbar;
private ImageView download_item_colse_collection;
private ImageView download_item_iv_pic;
private ProgressBar download_item_progressbar;
public RecyclerViewHolder(View convertView) {
super(convertView);
@ -616,6 +627,8 @@ public class DownloadDialog {
.findViewById(R.id.download_item_tv_hint);
download_item_open_collection = (ImageView) convertView
.findViewById(R.id.download_item_open_collection);
download_item_colse_collection = (ImageView) convertView
.findViewById(R.id.download_item_colse_collection);
}
}
@ -647,20 +660,19 @@ public class DownloadDialog {
private class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewHolder> {
private List<ApkEntity> platforms;
private int position;
private int adapterPosition;
private int count;
private int colseCollectionPosition = -1;
private int clickCollectionPosition = -1;
public RecyclerViewAdapter(List<ApkEntity> list, int p) {
platforms = list;
position = p;
adapterPosition = p;
if (platforms.size() <= (row * column)) {
count = platforms.size();
} else if (platforms.size() - (row * column) * position >= (row * column)) {
} else if (platforms.size() - (row * column) * adapterPosition >= (row * column)) {
count = (row * column);
} else {
count = platforms.size() - (row * column) * position;
count = platforms.size() - (row * column) * adapterPosition;
}
}
@ -671,25 +683,29 @@ public class DownloadDialog {
@SuppressWarnings("deprecation")
@Override
public void onBindViewHolder(final RecyclerViewHolder viewHolder, int position) {
public void onBindViewHolder(final RecyclerViewHolder viewHolder, final int position) {
final ApkEntity apkEntity = platforms.get((row * column) * this.position + position);
final ApkEntity apkEntity = platforms.get((row * column) * adapterPosition + position);
viewHolder.itemView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (apkEntity.getApkCollection() != null){
if (llCollection.getVisibility() == View.GONE
|| clickCollectionPosition != viewHolder.getPosition() && clickCollectionPosition != -1){
if (viewHolder.download_item_open_collection.getVisibility() == View.VISIBLE){
llCollection.setVisibility(View.VISIBLE);
showCollectionLayout(apkEntity.getApkCollection());
viewHolder.download_item_open_collection.setImageResource(R.drawable.collection_colse);
viewHolder.download_item_open_collection.setVisibility(View.GONE);
viewHolder.download_item_colse_collection.setVisibility(View.VISIBLE);
colseCollectionPosition = viewHolder.getPosition();
notifyDataSetChanged();
colseAdapterPosition = adapterPosition;
for (int[] ints : collectionPositionlist) {
adapterMap.get(ints[0]).notifyItemChanged(ints[1]);
}
} else {
llCollection.setVisibility(View.GONE);
viewHolder.download_item_open_collection.setImageResource(R.drawable.collection_open);
viewHolder.download_item_open_collection.setVisibility(View.VISIBLE);
viewHolder.download_item_colse_collection.setVisibility(View.GONE);
}
clickCollectionPosition = viewHolder.getPosition();
} else if (viewHolder.download_item_tv_status.getVisibility() == View.GONE) {
//下载游戏
if (NetworkUtils.isWifiConnected(context)) {
@ -922,10 +938,16 @@ public class DownloadDialog {
if (apkEntity.getApkCollection() != null){
ImageUtils.getInstance(context).display(apkEntity.getApkCollection().getIcon(),viewHolder.download_item_iv_pic);
viewHolder.download_item_open_collection.setVisibility(View.VISIBLE);
if (colseCollectionPosition == position){
viewHolder.download_item_open_collection.setImageResource(R.drawable.collection_colse);
int[] arrCollectionPosition= {adapterPosition, position};
collectionPositionlist.add(arrCollectionPosition);
if (colseCollectionPosition == position && adapterPosition == colseAdapterPosition){
viewHolder.download_item_open_collection.setVisibility(View.GONE);
viewHolder.download_item_colse_collection.setVisibility(View.VISIBLE);
}else {
viewHolder.download_item_open_collection.setImageResource(R.drawable.collection_open);
viewHolder.download_item_open_collection.setVisibility(View.VISIBLE);
viewHolder.download_item_colse_collection.setVisibility(View.GONE );
}
}
}