huyuguo преди 5 години
родител
ревизия
4993086aed

+ 38 - 32
app/src/main/java/com/electric/chargingpile/activity/ChatContentListActivity.java

@ -9,6 +9,7 @@ import android.support.constraint.ConstraintLayout;
9 9
import android.support.v4.app.Fragment;
10 10
import android.support.v4.app.FragmentManager;
11 11
import android.support.v4.app.FragmentPagerAdapter;
12
import android.support.v4.app.FragmentStatePagerAdapter;
12 13
import android.support.v4.view.ViewPager;
13 14
import android.support.v7.app.AppCompatActivity;
14 15
import android.os.Bundle;
@ -169,41 +170,42 @@ public class ChatContentListActivity extends AppCompatActivity {
169 170
            return;
170 171
        }
171 172
172
        if (bean.targetType != ChatRecommendBean.TARGET_TYPE_VIDEO) {
173
        if (bean.targetType == ChatRecommendBean.TARGET_TYPE_VIDEO) {
174
            NetworkUtils.NetworkType networkType = NetworkUtils.getNetworkType();
175
            switch (networkType) {
176
                case NETWORK_2G:
177
                case NETWORK_3G:
178
                case NETWORK_4G:
179
                    if (ProfileManager.getInstance().getMakeSureNetworkForView(ChatContentListActivity.this)) {
180
                        chatContentFragment.play();
181
                    } else {
182
                        if (isFirstShowNetworkDialog) {
183
                            isFirstShowNetworkDialog = false;
184
                            new AlertDialog(ChatContentListActivity.this).builder()
185
                                    .setMsg("目前正在移动网络下,是否播放")
186
                                    .setPositiveButton("继续播放", new View.OnClickListener() {
187
                                        @Override
188
                                        public void onClick(View view) {
189
                                            ProfileManager.getInstance().setMakeSureNetworkForView(ChatContentListActivity.this);
190
                                            chatContentFragment.play();
191
                                        }
192
                                    }).setNegativeButton("暂停播放", null).show();
193
                        }
194
                    }
195
                    break;
196
                default:
197
                    chatContentFragment.play();
198
                    break;
199
            }
200
201
        } else {
173 202
            GSYVideoADManager.onPause();
174 203
            GSYVideoManager.onPause();
175
            return;
176
        }
177
178
        NetworkUtils.NetworkType networkType = NetworkUtils.getNetworkType();
179
        switch (networkType) {
180
            case NETWORK_2G:
181
            case NETWORK_3G:
182
            case NETWORK_4G:
183
                if (ProfileManager.getInstance().getMakeSureNetworkForView(ChatContentListActivity.this)) {
184
                    chatContentFragment.play();
185
                } else {
186
                    if (isFirstShowNetworkDialog) {
187
                        isFirstShowNetworkDialog = false;
188
                        new AlertDialog(ChatContentListActivity.this).builder()
189
                                .setMsg("目前正在移动网络下,是否播放")
190
                                .setPositiveButton("继续播放", new View.OnClickListener() {
191
                                    @Override
192
                                    public void onClick(View view) {
193
                                        ProfileManager.getInstance().setMakeSureNetworkForView(ChatContentListActivity.this);
194
                                        chatContentFragment.play();
195
                                    }
196
                                }).setNegativeButton("暂停播放", null).show();
197
                    }
198
                }
199
                break;
200
            default:
201
                chatContentFragment.play();
202
                break;
204
            chatContentFragment.showPhotos();
203 205
        }
204 206
    }
205 207
206
    public class ChatContentAdapter extends FragmentPagerAdapter {
208
    public class ChatContentAdapter extends FragmentStatePagerAdapter {
207 209
208 210
        public Map<String, ChatContentFragment> map = new HashMap<>();
209 211
        private Handler handler;
@ -261,6 +263,8 @@ public class ChatContentListActivity extends AppCompatActivity {
261 263
        private ViewPager photoPager;
262 264
        private ConstraintLayout bottomView;
263 265
        private TextView navTitle;
266
        private List<ChatPhotoFragment> chatPhotoFragments;
267
        private ChatPhotoFragmentPagerAdapter chatPhotoFragmentPagerAdapter;
264 268
265 269
        public static ChatContentFragment newInstance(int index, String from) {
266 270
            ChatContentFragment fragment = new ChatContentFragment();
@ -618,13 +622,13 @@ public class ChatContentListActivity extends AppCompatActivity {
618 622
                navTitle.setText("");
619 623
            }
620 624
621
            List<ChatPhotoFragment> chatPhotoFragments = new ArrayList<>();
625
            chatPhotoFragments = new ArrayList<>();
622 626
            for (String url : bean.imgUrls) {
623 627
                ChatPhotoFragment fragment = ChatPhotoFragment.newInstance(url);
624 628
                chatPhotoFragments.add(fragment);
625 629
            }
626 630
627
            ChatPhotoFragmentPagerAdapter chatPhotoFragmentPagerAdapter = new ChatPhotoFragmentPagerAdapter(fm, chatPhotoFragments);
631
            chatPhotoFragmentPagerAdapter = new ChatPhotoFragmentPagerAdapter(getChildFragmentManager(), chatPhotoFragments);
628 632
            photoPager.setAdapter(chatPhotoFragmentPagerAdapter);
629 633
            photoPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
630 634
                @Override
@ -640,7 +644,9 @@ public class ChatContentListActivity extends AppCompatActivity {
640 644
                public void onPageScrollStateChanged(int state) {
641 645
                }
642 646
            });
647
        }
643 648
649
        private void showPhotos() {
644 650
        }
645 651
646 652
        private void setVideoAllCallBack() {

+ 4 - 0
app/src/main/java/com/electric/chargingpile/adapter/ChatPhotoFragmentPagerAdapter.java

@ -3,6 +3,9 @@ package com.electric.chargingpile.adapter;
3 3
import android.support.v4.app.Fragment;
4 4
import android.support.v4.app.FragmentManager;
5 5
import android.support.v4.app.FragmentPagerAdapter;
6
import android.support.v4.app.FragmentStatePagerAdapter;
7
import android.support.v4.view.PagerAdapter;
8
import android.view.View;
6 9
7 10
import com.electric.chargingpile.fragment.ChatPhotoFragment;
8 11
@ -26,4 +29,5 @@ public class ChatPhotoFragmentPagerAdapter extends FragmentPagerAdapter {
26 29
    public int getCount() {
27 30
        return fragments.size();
28 31
    }
32
29 33
}

+ 10 - 2
app/src/main/java/com/electric/chargingpile/fragment/ChatPhotoFragment.java

@ -17,6 +17,7 @@ import com.github.chrisbanes.photoview.PhotoView;
17 17
public class ChatPhotoFragment extends Fragment {
18 18
    private static final String TAG = "ChatPhotoFragment";
19 19
    private static final String ARG_URL = "url";
20
    private View rootView;
20 21
21 22
    public static ChatPhotoFragment newInstance(String url) {
22 23
        ChatPhotoFragment fragment = new ChatPhotoFragment();
@ -33,12 +34,19 @@ public class ChatPhotoFragment extends Fragment {
33 34
    @Override
34 35
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
35 36
        String url = getArguments().getString(ARG_URL);
36
        View rootView = inflater.inflate(R.layout.fragment_chat_photo, container, false);
37
        if (rootView != null) {
38
            ViewGroup parent = (ViewGroup)rootView.getParent();
39
            if (parent!=null) {
40
                parent.removeView(rootView);
41
            }
42
            return rootView;
43
        }
44
        rootView = inflater.inflate(R.layout.fragment_chat_photo, container, false);
37 45
        initView(rootView, url);
38 46
        return rootView;
39 47
    }
40 48
41
    private void initView(View rootView,String url) {
49
    private void initView(View rootView, String url) {
42 50
        final PhotoView photoView = rootView.findViewById(R.id.photoView);
43 51
        photoView.setImageResource(R.drawable.bg_guide_one);
44 52
//        photoView.setScaleType(ImageView.ScaleType.FIT_XY);

+ 42 - 0
app/src/main/java/com/electric/chargingpile/iview/ChatVerticalViewPager.java

@ -0,0 +1,42 @@
1
package com.electric.chargingpile.iview;
2
3
import android.content.Context;
4
import android.util.AttributeSet;
5
import android.view.MotionEvent;
6
7
import fr.castorflex.android.verticalviewpager.VerticalViewPager;
8
9
public class ChatVerticalViewPager extends VerticalViewPager {
10
    private boolean isScroll = true;
11
    public ChatVerticalViewPager(Context context) {
12
        super(context);
13
    }
14
15
    public ChatVerticalViewPager(Context context, AttributeSet attrs) {
16
        super(context, attrs);
17
    }
18
19
    //----------禁止上下滑动-----------------
20
    @Override
21
    public boolean onTouchEvent(MotionEvent ev) {
22
        if (isScroll) {
23
            return super.onTouchEvent(ev);
24
        } else {
25
            return false;
26
        }
27
    }
28
29
    @Override
30
    public boolean onInterceptTouchEvent(MotionEvent ev) {
31
        if (isScroll) {
32
            return super.onInterceptTouchEvent(ev);
33
        } else {
34
            return false;
35
        }
36
37
    }
38
39
    public void setScroll(boolean scroll) {
40
        isScroll = scroll;
41
    }
42
}

+ 1 - 1
app/src/main/res/layout/fragment_chat_content_pictures.xml

@ -14,7 +14,7 @@
14 14
        app:layout_constraintLeft_toLeftOf="parent"
15 15
        app:layout_constraintRight_toRightOf="parent"
16 16
        app:layout_constraintTop_toBottomOf="@+id/navBar"
17
        tools:background="#66bd00"></android.support.v4.view.ViewPager>
17
        android:background="#66bd00"></android.support.v4.view.ViewPager>
18 18
19 19
    <!--<include layout="@layout/fragment_chat_content_common" />-->
20 20
    <android.support.constraint.ConstraintLayout