wpc
2018-11-27 680fbc9e73da3e11988557cf88fd935efd3e0b1e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package com.haicaojie.android.ui.trends;
 
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.view.ViewPager;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
 
import com.haicaojie.android.R;
import com.haicaojie.android.ui.BaseActivity;
import com.haicaojie.android.util.PhotoViewPager;
 
import java.util.List;
 
/**
 * Created by weikou2015 on 2018/8/22.
 */
 
public class BigImageActivity extends BaseActivity implements ImageAdapter.OnFinishCallBack {
 
    private int mCurPageIndex;
    private int mPageCount = 0;
 
    private PhotoViewPager mViewPager;
    private LinearLayout mPageDotLl;
    FrameLayout ll_img;
 
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_image_big);
        findWidget();
        initData();
    }
 
    protected void findWidget() {
        ll_img = (FrameLayout) findViewById(R.id.ll_img);
        mViewPager = (PhotoViewPager) findViewById(R.id.show_origin_pic_vp);
        mPageDotLl = (LinearLayout) findViewById(R.id.show_origin_pic_dot);
        ll_img.postDelayed(new Runnable() {
            @Override
            public void run() {
                ll_img.setBackgroundColor(getResources().getColor(R.color.black));
            }
        }, 300);
    }
 
    private void initData() {
        List<String> photoUrlList = getIntent().getStringArrayListExtra("urlList");
        mPageCount = photoUrlList.size();
        mCurPageIndex = getIntent().getIntExtra("position", 0);
        ImageAdapter imageAdapter = new ImageAdapter(this, photoUrlList);
        imageAdapter.setOnFinishCallBack(this);
        mViewPager.setAdapter(imageAdapter);
        mViewPager.setCurrentItem(mCurPageIndex);
 
        setOvalLayout();
    }
 
    /**
     * 设置圆点
     */
    public void setOvalLayout() {
        if (mPageCount <= 0) {
            return;
        }
 
        mPageDotLl.removeAllViews();
        for (int i = 0; i < mPageCount; i++) {
            mPageDotLl.addView(LayoutInflater.from(this).inflate(R.layout.vp_dot, mPageDotLl, false));
        }
        mPageDotLl.getChildAt(mCurPageIndex).findViewById(R.id.v_dot).setBackgroundResource(R.drawable.shape_circle_white);
 
        mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                // 取消圆点选中
                mPageDotLl.getChildAt(mCurPageIndex).findViewById(R.id.v_dot).setBackgroundResource(R.drawable.shape_circle_gray);
                // 圆点选中
                mPageDotLl.getChildAt(position).findViewById(R.id.v_dot).setBackgroundResource(R.drawable.shape_circle_white);
                mCurPageIndex = position;
            }
 
            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
            }
 
            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });
    }
 
    @Override
    public void finishShowPic() {
        setResult(2);
        finish();
        overridePendingTransition(0, R.anim.activity_zoom_close);
    }
 
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            finishShowPic();
        }
        return super.onKeyDown(keyCode, event);
    }
}