huyuguo 5 gadi atpakaļ
vecāks
revīzija
2ae57b26bb
23 mainītis faili ar 59 papildinājumiem un 598 dzēšanām
  1. 1 1
      app/src/main/AndroidManifest.xml
  2. 1 1
      app/src/main/java/com/electric/chargingpile/activity/PersonalPageActivity.java
  3. 24 0
      app/src/main/java/com/electric/chargingpile/activity/TopicDetailActivity.java
  4. 0 440
      app/src/main/java/com/electric/chargingpile/activity/TopicDetailsActivity.java
  5. 6 5
      app/src/main/java/com/electric/chargingpile/adapter/ChatRecommendAdapter.java
  6. 2 2
      app/src/main/java/com/electric/chargingpile/adapter/LayoutAdapter.java
  7. 3 3
      app/src/main/java/com/electric/chargingpile/fragment/ChatRecommendFragment.java
  8. 2 2
      app/src/main/java/com/electric/chargingpile/fragment/SvVideoShowView.java
  9. 2 2
      app/src/main/java/com/electric/chargingpile/fragment/TalkRecommendFragment.java
  10. BIN
      app/src/main/res/drawable-hdpi/chat_publish_icon.png
  11. BIN
      app/src/main/res/drawable-hdpi/提问.png
  12. BIN
      app/src/main/res/drawable-mdpi/chat_publish_icon.png
  13. BIN
      app/src/main/res/drawable-mdpi/提问.png
  14. BIN
      app/src/main/res/drawable-xhdpi/bg_w_4.9.png
  15. BIN
      app/src/main/res/drawable-xhdpi/bg_w_4.png
  16. BIN
      app/src/main/res/drawable-xhdpi/chat_publish_icon.png
  17. BIN
      app/src/main/res/drawable-xhdpi/提问.png
  18. BIN
      app/src/main/res/drawable-xxhdpi/chat_publish_icon.png
  19. BIN
      app/src/main/res/drawable-xxhdpi/提问.png
  20. BIN
      app/src/main/res/drawable-xxxhdpi/发布.png
  21. BIN
      app/src/main/res/drawable-xxxhdpi/提问.png
  22. 14 142
      app/src/main/res/layout/activity_topic_details_info.xml
  23. 4 0
      build.gradle

+ 1 - 1
app/src/main/AndroidManifest.xml

@ -1010,7 +1010,7 @@
1010 1010
            android:name=".activity.PersonalPageActivity"
1011 1011
            android:screenOrientation="portrait" />
1012 1012
        <activity
1013
            android:name=".activity.TopicDetailsActivity"
1013
            android:name=".activity.TopicDetailActivity"
1014 1014
            android:screenOrientation="portrait" />
1015 1015
    </application>
1016 1016

+ 1 - 1
app/src/main/java/com/electric/chargingpile/activity/PersonalPageActivity.java

@ -232,7 +232,7 @@ public class PersonalPageActivity extends Activity implements View.OnClickListen
232 232
            public void onItemClickListener(int position, int index) {
233 233
                if(index == 2)
234 234
                    return;
235
                startActivity(new Intent(PersonalPageActivity.this, TopicDetailsActivity.class).putExtra("topicId", waterFallAdapter.getCurrentData().get(position).topicId + ""));
235
                startActivity(new Intent(PersonalPageActivity.this, TopicDetailActivity.class).putExtra("topicId", waterFallAdapter.getCurrentData().get(position).topicId + ""));
236 236
            }
237 237
        });
238 238
    }

+ 24 - 0
app/src/main/java/com/electric/chargingpile/activity/TopicDetailActivity.java

@ -0,0 +1,24 @@
1
package com.electric.chargingpile.activity;
2
3
import android.os.Bundle;
4
import android.support.annotation.Nullable;
5
import android.support.v7.app.AppCompatActivity;
6
import android.view.View;
7
import com.electric.chargingpile.R;
8
9
/**
10
 * @desc 话题详情
11
 */
12
public class TopicDetailActivity extends AppCompatActivity implements View.OnClickListener {
13
    @Override
14
    protected void onCreate(@Nullable Bundle savedInstanceState) {
15
        super.onCreate(savedInstanceState);
16
        setContentView(R.layout.activity_topic_details_info);
17
    }
18
19
20
    @Override
21
    public void onClick(View view) {
22
23
    }
24
}

+ 0 - 440
app/src/main/java/com/electric/chargingpile/activity/TopicDetailsActivity.java

@ -1,440 +0,0 @@
1
package com.electric.chargingpile.activity;
2
3
import android.content.Intent;
4
import android.os.Bundle;
5
import android.support.annotation.Nullable;
6
import android.support.v4.app.FragmentActivity;
7
import android.support.v7.widget.GridLayoutManager;
8
import android.support.v7.widget.StaggeredGridLayoutManager;
9
import android.text.TextUtils;
10
import android.view.View;
11
import android.view.ViewTreeObserver;
12
import android.widget.FrameLayout;
13
import android.widget.ImageView;
14
import android.widget.LinearLayout;
15
import android.widget.TextView;
16
import android.widget.Toast;
17
18
import com.aspsine.irecyclerview.IRecyclerView;
19
import com.aspsine.irecyclerview.OnLoadMoreListener;
20
import com.blankj.utilcode.util.LogUtils;
21
import com.electric.chargingpile.R;
22
import com.electric.chargingpile.adapter.WaterFallAdapter;
23
import com.electric.chargingpile.application.MainApplication;
24
import com.electric.chargingpile.data.ChargingShareBean;
25
import com.electric.chargingpile.data.HomePageBean;
26
import com.electric.chargingpile.data.TalkRecommendBean;
27
import com.electric.chargingpile.iview.RecyclerItemTypeClickListener;
28
import com.electric.chargingpile.util.ImageDisplayUtils;
29
import com.electric.chargingpile.util.JsonUtils;
30
import com.electric.chargingpile.util.NetUtil;
31
import com.electric.chargingpile.util.ScreenUtils;
32
import com.electric.chargingpile.util.ToastUtil;
33
import com.electric.chargingpile.view.PullToZoomScrollView3;
34
import com.electric.chargingpile.view.SortTopicPopWindow;
35
import com.electric.chargingpile.view.footer.LoadMoreFooterView;
36
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
37
import com.zhy.http.okhttp.OkHttpUtils;
38
import com.zhy.http.okhttp.callback.StringCallback;
39
40
import java.util.ArrayList;
41
import java.util.HashMap;
42
import java.util.Map;
43
44
import cn.sharesdk.framework.Platform;
45
import cn.sharesdk.framework.PlatformActionListener;
46
import cn.sharesdk.framework.ShareSDK;
47
import cn.sharesdk.tencent.qq.QQ;
48
import cn.sharesdk.wechat.friends.Wechat;
49
import cn.sharesdk.wechat.moments.WechatMoments;
50
import okhttp3.Call;
51
52
/**
53
 * @desc 话题详情
54
 */
55
public class TopicDetailsActivity extends FragmentActivity implements View.OnClickListener, PullToZoomScrollView3.ScrollViewListener, OnLoadMoreListener {
56
57
    private String topicId;
58
    private PullToZoomScrollView3 scrollview;
59
    private String topicTitleContent;
60
    private int screenWidth, bgHeight, screenHeight;
61
    private TextView textview, topic_title, topic_content, read_data, join_data, sort_text_info;
62
    private FrameLayout top_view;
63
    private LinearLayout content_view, ll_sort_view;
64
    private int page = 1;
65
    private int sort = 1;
66
    private String sortType = "agree";//排序 ctime为时间顺序,agree为点赞排序
67
    private LoadMoreFooterView loadMoreFooterView;
68
    private IRecyclerView comment_data;
69
    private StaggeredGridLayoutManager layoutManager;
70
    private WaterFallAdapter waterFallAdapter;
71
    private boolean haveLoadHeaderData;
72
    private ImageView user_avater, user_content_more;
73
74
    @Override
75
    protected void onCreate(@Nullable Bundle savedInstanceState) {
76
        super.onCreate(savedInstanceState);
77
        setContentView(R.layout.activity_topic_details_info);
78
        initView();
79
        initListeners();
80
        initListeners(findViewById(R.id.make_header_lines));
81
82
        if (NetUtil.CheckNetwork(this)) {
83
            requestData();
84
        } else {
85
            findViewById(R.id.no_net_view).setVisibility(View.VISIBLE);
86
            findViewById(R.id.iv_back_nonet).setOnClickListener(this);
87
            findViewById(R.id.request_refresh).setOnClickListener(this);
88
89
        }
90
//        requestShareData();
91
    }
92
93
    private void initView() {
94
        topicId = getIntent().getStringExtra("topicId");
95
        textview = (TextView) findViewById(R.id.textview);
96
        textview.setVisibility(View.GONE);
97
        topic_title = (TextView) findViewById(R.id.topic_title);
98
        topic_content = (TextView) findViewById(R.id.topic_content);
99
        join_data = (TextView) findViewById(R.id.join_data);
100
        read_data = (TextView) findViewById(R.id.read_data);
101
        sort_text_info = (TextView) findViewById(R.id.sort_text_info);
102
        user_avater = (ImageView) findViewById(R.id.user_avater);
103
        user_content_more = (ImageView) findViewById(R.id.user_content_more);
104
        top_view = (FrameLayout) findViewById(R.id.top_view);
105
        content_view = (LinearLayout) findViewById(R.id.content_view);
106
        ll_sort_view = (LinearLayout) findViewById(R.id.ll_sort_view);
107
        ll_sort_view.setOnClickListener(this);
108
        scrollview = (PullToZoomScrollView3) findViewById(R.id.scroll_view);
109
        scrollview.setVerticalScrollBarEnabled(false);
110
        screenHeight = ScreenUtils.getScreenHeight(this);
111
        ImageView iv_ask = (ImageView) findViewById(R.id.iv_ask);
112
        iv_ask.setOnClickListener(this);
113
    }
114
115
    private void initListeners() {
116
        findViewById(R.id.iv_back).setOnClickListener(this);
117
        findViewById(R.id.textview_share).setOnClickListener(this);
118
        user_content_more.setOnClickListener(this);
119
        //评论
120
        comment_data = (IRecyclerView) findViewById(R.id.recyclerView);
121
//        comment_data.setNestedScrollingEnabled(false);
122
        loadMoreFooterView = (LoadMoreFooterView) comment_data.getLoadMoreFooterView();
123
        //设置布局管理器
124
        waterFallAdapter = new WaterFallAdapter(this);
125
//        layoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
126
//        comment_data.setLayoutManager(layoutManager);
127
        comment_data.setLayoutManager(new GridLayoutManager(this, 2));
128
        comment_data.setIAdapter(waterFallAdapter);
129
        comment_data.setOnLoadMoreListener(this);
130
        comment_data.setLoadMoreEnabled(true);
131
        waterFallAdapter.setOnRecyclerItemClickListener(new RecyclerItemTypeClickListener() {
132
            @Override
133
            public void onItemClickListener(int position, int index) {
134
                int pos = position - 1;
135
                ArrayList<TalkRecommendBean> talkRecommendBeans = waterFallAdapter.getCurrentData();
136
                Intent intent = new Intent(TopicDetailsActivity.this, VideoDetaislActivity.class);
137
                intent.putExtra("list", talkRecommendBeans);
138
                intent.putExtra("pos", pos);
139
                startActivity(intent);
140
141
//                String topicId = waterFallAdapter.getCurrentData().get(position).topicId+"";
142
//                startActivity(new Intent(TopicDetailsActivity.this, TopicDetailsActivity.class).putExtra("topicId", topicId));
143
            }
144
        });
145
    }
146
147
    ChargingShareBean chargingShareBean = new ChargingShareBean();
148
149
    @Override
150
    public void onClick(View v) {
151
        switch (v.getId()) {
152
            case R.id.iv_ask:
153
                startActivity(new Intent(this, PublishItemsActivity.class));
154
//                Toast.makeText(getActivity(), "分享", Toast.LENGTH_SHORT).show();
155
                break;
156
            case R.id.user_content_more:
157
                topic_content.setText(contentAll);
158
                user_content_more.setVisibility(View.GONE);
159
                break;
160
            case R.id.textview_share:
161
                if (!MainApplication.isLogin()) {
162
                    startActivity(new Intent(this.getApplicationContext(), LoginActivity.class));
163
                    ToastUtil.showToast(this.getApplicationContext(), "请先登录", Toast.LENGTH_SHORT);
164
                    return;
165
                }
166
                if (null == chargingShareBean.getUrl() || TextUtils.isEmpty(chargingShareBean.getUrl()))
167
                    return;
168
                showSimpleBottomSheetGrid(chargingShareBean);
169
                break;
170
            case R.id.request_refresh:
171
                if (NetUtil.CheckNetwork(this)) {
172
                    requestData();
173
174
                }
175
                break;
176
            case R.id.iv_back_nonet:
177
                finish();
178
                break;
179
            case R.id.iv_back:
180
                finish();
181
                break;
182
            case R.id.ll_sort_view:
183
184
                final SortTopicPopWindow sortPopWindow = new SortTopicPopWindow(TopicDetailsActivity.this);
185
                sortPopWindow.setUi(sort);
186
                sortPopWindow.showPopupWindow(ll_sort_view, new View.OnClickListener() {
187
                    @Override
188
                    public void onClick(View v) {
189
                        switch (v.getId()) {
190
                            case R.id.tv_1:
191
                                sort = 1;
192
                                sortPopWindow.dismiss();
193
                                sort_text_info.setText("最新发布");
194
                                page = 1;
195
                                requestData();
196
                                break;
197
                            case R.id.tv_2:
198
                                sort = 2;
199
                                sortPopWindow.dismiss();
200
                                sort_text_info.setText("最后回复");
201
                                page = 1;
202
                                requestData();
203
                                break;
204
                            case R.id.tv_3:
205
//                                Log.e(TAG, "onClick: 111" );
206
                                sort = 3;
207
                                sortPopWindow.dismiss();
208
                                sort_text_info.setText("最热");
209
                                page = 1;
210
                                requestData();
211
                                break;
212
                        }
213
                    }
214
                });
215
                break;
216
        }
217
    }
218
219
    /**
220
     * 获取上半身的高度后,设置滚动监听
221
     */
222
    private void initListeners(final View listenView) {
223
        ViewTreeObserver vto = listenView.getViewTreeObserver();
224
        vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
225
            @Override
226
            public void onGlobalLayout() {
227
                listenView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
228
                bgHeight = listenView.getHeight() - top_view.getHeight();
229
                scrollview.setScrollViewListener(TopicDetailsActivity.this);
230
            }
231
        });
232
    }
233
234
    @Override
235
    public void onScrollChanged(PullToZoomScrollView3 scrollView, int l, int t, int oldl, int oldt) {
236
        if (t <= 0) {   //设置标题的背景颜色
237
            textview.setVisibility(View.GONE);
238
239
        } else if (t > 0 && t <= bgHeight) { //滑动距离小于banner图的高度时,设置背景和字体颜色颜色透明度渐变
240
            float scale = (float) t / bgHeight;
241
            float alpha = (255 * scale);
242
            textview.setVisibility(View.GONE);
243
244
        } else {    //滑动到banner下面设置普通颜色
245
            textview.setVisibility(View.VISIBLE);
246
        }
247
    }
248
249
250
    private void requestData() {
251
        String url = MainApplication.urlNew + "/topic/homepage.do";
252
        Map<String, String> map = new HashMap<>();
253
        map.put("topicId", topicId + "");
254
        map.put("sort", sort + "");//1最新发布/2最后回复/3最热
255
        map.put("init", "1");//1返回话题名等信息 0只返回话题下内容列表
256
        map.put("page", page + "");
257
        map.put("limit", "20");
258
        if (MainApplication.isLogin()) {
259
            map.put("user_id", MainApplication.userId);
260
        }
261
        OkHttpUtils.get().params(map).url(url).build().connTimeOut(6000).readTimeOut(6000).execute(new StringCallback() {
262
            @Override
263
            public void onError(Call call, Exception e) {
264
                loadMoreFooterView.setStatus(LoadMoreFooterView.Status.ERROR);
265
                if (page > 1)
266
                    page -= 1;
267
            }
268
269
            @Override
270
            public void onResponse(String response) {
271
                findViewById(R.id.no_net_view).setVisibility(View.GONE);
272
                String rtnCode = JsonUtils.getKeyResult(response, "code");
273
                if ("1000".equals(rtnCode)) {
274
                    String rtnMsg = JsonUtils.getKeyResult(response, "data");
275
                    HomePageBean qadata = (HomePageBean) JsonUtils.parseToObjectBean(rtnMsg, HomePageBean.class);
276
                    if (!haveLoadHeaderData) {
277
                        haveLoadHeaderData = true;
278
                        initHeaderData(qadata.list);
279
280
                        if (null != qadata.list && qadata.list.size() > 0) {
281
                            chargingShareBean.setIcon(qadata.list.get(0).coverImgUrl);
282
                            chargingShareBean.setTitle(qadata.list.get(0).topicName);
283
                            chargingShareBean.setUrl(qadata.list.get(0).shareUrl);
284
                            chargingShareBean.setText(qadata.list.get(0).title);
285
                        }
286
                    }
287
                    if (page == 1) {
288
                        waterFallAdapter.setData(qadata.list);
289
290
                        if (null == qadata.list || qadata.list.size() == 0) {
291
                            findViewById(R.id.no_content_view).setVisibility(View.VISIBLE);
292
                            comment_data.setVisibility(View.GONE);
293
                        } else {
294
                            findViewById(R.id.no_content_view).setVisibility(View.GONE);
295
                            comment_data.setVisibility(View.VISIBLE);
296
                        }
297
                    } else
298
                        waterFallAdapter.addData(qadata.list);
299
300
                    if (qadata.list == null || qadata.list.size() < 20) {
301
                        if (page == 1) {
302
                            comment_data.setLoadMoreEnabled(false);
303
                        } else {
304
                            loadMoreFooterView.setStatus(LoadMoreFooterView.Status.THE_END);
305
                            comment_data.setNestedScrollingEnabled(false);
306
                        }
307
                    }
308
                } else if ("02".equals(rtnCode)) {
309
                    ToastUtil.showToast(getApplicationContext(), "已经全部加载完毕", Toast.LENGTH_SHORT);
310
                }
311
            }
312
        });
313
    }
314
315
    private String contentAll = "";
316
317
    private void initHeaderData(ArrayList<TalkRecommendBean> list) {
318
        if (null != list && list.size() > 0) {
319
            textview.setText(list.get(0).topicName);
320
            topic_title.setText(list.get(0).topicName);
321
            read_data.setText(list.get(0).visitNums + "");
322
            join_data.setText(list.get(0).joinNums + "");
323
            contentAll = list.get(0).title;
324
            if (!TextUtils.isEmpty(contentAll) && contentAll.length() > 80) {
325
                topic_content.setText(contentAll.substring(0, 80));
326
                user_content_more.setVisibility(View.VISIBLE);
327
            } else {
328
                topic_content.setText(contentAll);
329
            }
330
            if (isDestroyed()) {
331
                return;
332
            }
333
            ImageDisplayUtils.dispalyImg(this, "http://cdz.evcharge.cc/zhannew/uploadfile/" + list.get(0).headImgUrl, user_avater);
334
        }
335
    }
336
337
    @Override
338
    public void onLoadMore() {
339
        page += 1;
340
        requestData();
341
    }
342
343
    private void showSimpleBottomSheetGrid(final ChargingShareBean chargingShareBean) {
344
        final int TAG_SHARE_WECHAT_FRIEND = 0;
345
        final int TAG_SHARE_WECHAT_MOMENT = 1;
346
        final int TAG_SHARE_QQ = 2;
347
        QMUIBottomSheet.BottomGridSheetBuilder builder = new QMUIBottomSheet.BottomGridSheetBuilder(TopicDetailsActivity.this);
348
        QMUIBottomSheet build = builder.addItem(R.drawable.icon_share_wechat, "微信", TAG_SHARE_WECHAT_FRIEND, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
349
                .addItem(R.drawable.icon_share_wechatquan, "朋友圈", TAG_SHARE_WECHAT_MOMENT, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
350
                .addItem(R.drawable.icon_share_qq, "QQ", TAG_SHARE_QQ, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
351
                .setOnSheetItemClickListener(new QMUIBottomSheet.BottomGridSheetBuilder.OnSheetItemClickListener() {
352
                    @Override
353
                    public void onClick(QMUIBottomSheet dialog, View itemView) {
354
                        dialog.dismiss();
355
                        int tag = (int) itemView.getTag();
356
                        switch (tag) {
357
                            case TAG_SHARE_WECHAT_FRIEND:
358
                                share(Wechat.NAME, chargingShareBean);
359
                                break;
360
                            case TAG_SHARE_WECHAT_MOMENT:
361
                                share(WechatMoments.NAME, chargingShareBean);
362
                                break;
363
                            case TAG_SHARE_QQ:
364
                                share(QQ.NAME, chargingShareBean);
365
                                break;
366
                        }
367
                    }
368
                }).build();
369
//        build.
370
        build.show();
371
    }
372
373
    private void share(final String name, ChargingShareBean chargingShareBean) {
374
        Platform.ShareParams paramsToShare = new Platform.ShareParams();
375
        paramsToShare.setText(chargingShareBean.getText());
376
        paramsToShare.setTitle(chargingShareBean.getTitle());
377
        paramsToShare.setTitleUrl(chargingShareBean.getUrl());
378
        paramsToShare.setUrl(chargingShareBean.getUrl());
379
        paramsToShare.setImageUrl(chargingShareBean.getIcon());
380
        paramsToShare.setShareType(Platform.SHARE_WEBPAGE);
381
        Platform platform = ShareSDK.getPlatform(name);
382
        platform.setPlatformActionListener(new PlatformActionListener() {
383
            @Override
384
            public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
385
                if (MainApplication.isLogin()) {
386
                    getShareIntegral();
387
                }
388
            }
389
390
            @Override
391
            public void onError(Platform platform, int i, Throwable throwable) {
392
                LogUtils.e(throwable.getMessage());
393
            }
394
395
            @Override
396
            public void onCancel(Platform platform, int i) {
397
            }
398
        });
399
        platform.share(paramsToShare);
400
    }
401
402
    private void getShareIntegral() {
403
        String url = MainApplication.url + "/zhannew/basic/web/index.php/member/insert-task?userid=" + MainApplication.userId;
404
        OkHttpUtils.get().url(url).build().execute(new StringCallback() {
405
            @Override
406
            public void onError(Call call, Exception e) {
407
408
            }
409
410
            @Override
411
            public void onResponse(String response) {
412
                String rtnCode = JsonUtils.getKeyResult(response, "rtnCode");
413
                if (rtnCode.equals("01")) {
414
                }
415
            }
416
        });
417
    }
418
419
    private void requestShareData() {
420
        String url = MainApplication.urlNew + "/topic/share.do";
421
        Map<String, String> map = new HashMap<>();
422
        map.put("topicId", topicId + "");
423
//        map.put("targetType", targetType);
424
        OkHttpUtils.get().params(map).url(url).build().connTimeOut(6000).readTimeOut(6000).execute(new StringCallback() {
425
            @Override
426
            public void onError(Call call, Exception e) {
427
            }
428
429
            @Override
430
            public void onResponse(String response) {
431
432
                String rtnCode = JsonUtils.getKeyResult(response, "code");
433
                if ("1000".equals(rtnCode)) {
434
                    String rtnMsg = JsonUtils.getKeyResult(response, "data");
435
                    HomePageBean qadata = (HomePageBean) JsonUtils.parseToObjectBean(rtnMsg, HomePageBean.class);
436
                }
437
            }
438
        });
439
    }
440
}

+ 6 - 5
app/src/main/java/com/electric/chargingpile/adapter/ChatRecommendAdapter.java

@ -1,6 +1,7 @@
1 1
package com.electric.chargingpile.adapter;
2 2
3 3
import android.content.Context;
4
import android.content.Intent;
4 5
import android.support.v7.widget.LinearLayoutManager;
5 6
import android.support.v7.widget.RecyclerView;
6 7
import android.support.v7.widget.StaggeredGridLayoutManager;
@ -17,6 +18,7 @@ import android.widget.Toast;
17 18
18 19
import com.aspsine.irecyclerview.IViewHolder;
19 20
import com.electric.chargingpile.R;
21
import com.electric.chargingpile.activity.TopicDetailActivity;
20 22
import com.electric.chargingpile.application.MainApplication;
21 23
import com.electric.chargingpile.data.ChatRecommendBean;
22 24
import com.electric.chargingpile.iview.RecyclerItemTypeClickListener;
@ -244,15 +246,14 @@ public class ChatRecommendAdapter extends RecyclerView.Adapter<IViewHolder> {
244 246
        chatHeaderRecommendAdapter.setOnRecyclerItemClickListener(new RecyclerItemTypeClickListener() {
245 247
            @Override
246 248
            public void onItemClickListener(int position, int type) {
247
                String topicId = chatHeaderRecommendBeans.get(position).topicId + "";
248
                ToastUtil.showToast(context, "position:" + position + ", type:" + type, Toast.LENGTH_SHORT);
249
//                context.startActivity(new Intent(context,)); // TODO 跳转到顶部话题详情页
249
                ChatRecommendBean bean = chatHeaderRecommendBeans.get(position);
250
                Intent intent = new Intent(context, TopicDetailActivity.class);
251
                intent.putExtra("topicId", bean.topicId);
252
                context.startActivity(intent);
250 253
            }
251 254
        });
252
253 255
    }
254 256
255
256 257
    public static interface OnItemClickListener {
257 258
        void onItemClick(View view);
258 259
    }

+ 2 - 2
app/src/main/java/com/electric/chargingpile/adapter/LayoutAdapter.java

@ -19,7 +19,7 @@ import android.widget.Toast;
19 19
20 20
import com.aspsine.irecyclerview.IViewHolder;
21 21
import com.electric.chargingpile.R;
22
import com.electric.chargingpile.activity.TopicDetailsActivity;
22
import com.electric.chargingpile.activity.TopicDetailActivity;
23 23
import com.electric.chargingpile.application.MainApplication;
24 24
import com.electric.chargingpile.data.TalkRecommendBean;
25 25
import com.electric.chargingpile.iview.RecyclerItemTypeClickListener;
@ -281,7 +281,7 @@ public class LayoutAdapter extends RecyclerView.Adapter<IViewHolder> {
281 281
            @Override
282 282
            public void onItemClickListener(int position, int index) {
283 283
                String topicId = talkHeaderRecommendBeans.get(position).topicId + "";
284
                context.startActivity(new Intent(context, TopicDetailsActivity.class).putExtra("topicId", topicId));
284
                context.startActivity(new Intent(context, TopicDetailActivity.class).putExtra("topicId", topicId));
285 285
            }
286 286
        });
287 287
    }

+ 3 - 3
app/src/main/java/com/electric/chargingpile/fragment/ChatRecommendFragment.java

@ -17,7 +17,7 @@ import com.andview.refreshview.XRefreshView;
17 17
import com.electric.chargingpile.R;
18 18
import com.electric.chargingpile.activity.LoginActivity;
19 19
import com.electric.chargingpile.activity.PublishItemsActivity;
20
import com.electric.chargingpile.activity.TopicDetailsActivity;
20
import com.electric.chargingpile.activity.TopicDetailActivity;
21 21
import com.electric.chargingpile.activity.VideoDetaislActivity;
22 22
import com.electric.chargingpile.adapter.ChatRecommendAdapter;
23 23
import com.electric.chargingpile.adapter.ChatRecommendItemDecoration;
@ -96,7 +96,7 @@ public class ChatRecommendFragment extends Fragment implements View.OnClickListe
96 96
        layoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_NONE);
97 97
        recyclerView.setItemAnimator(null);
98 98
        recyclerView.setLayoutManager(layoutManager);
99
        recyclerView.addItemDecoration(new ChatRecommendItemDecoration());
99
        recyclerView.addItemDecoration(new ChatRecommendItemDecoration()); // 设置边距
100 100
        // 静默加载模式不能设置footerview
101 101
        recyclerView.setAdapter(chatRecommendAdapter);
102 102
//        refreshView.setPinnedTime(1000);
@ -132,7 +132,7 @@ public class ChatRecommendFragment extends Fragment implements View.OnClickListe
132 132
                final ArrayList<ChatRecommendBean> beans = chatRecommendAdapter.getCurrentData();
133 133
                ChatRecommendBean bean = beans.get(position - 1);
134 134
                if (bean.targetType == ChatRecommendBean.TARGET_TYPE_IMAGE_TOPIC) {
135
                    startActivity(new Intent(getActivity(), TopicDetailsActivity.class).putExtra("topicId", bean.topicId + ""));
135
                    startActivity(new Intent(getActivity(), TopicDetailActivity.class).putExtra("topicId", bean.topicId + ""));
136 136
                } else {
137 137
                    Disposable disposable = Observable
138 138
                            .fromIterable(beans)

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

@ -23,7 +23,7 @@ import com.bumptech.glide.request.RequestOptions;
23 23
import com.electric.chargingpile.R;
24 24
import com.electric.chargingpile.activity.LoginActivity;
25 25
import com.electric.chargingpile.activity.PersonalPageActivity;
26
import com.electric.chargingpile.activity.TopicDetailsActivity;
26
import com.electric.chargingpile.activity.TopicDetailActivity;
27 27
import com.electric.chargingpile.application.MainApplication;
28 28
import com.electric.chargingpile.data.ChargingShareBean;
29 29
import com.electric.chargingpile.data.ChatRecommendBean;
@ -500,7 +500,7 @@ public class SvVideoShowView implements View.OnClickListener {
500 500
                activity.startActivity(intent);
501 501
                break;
502 502
            case R.id.sv_show_topic:
503
                activity.startActivity(new Intent(activity, TopicDetailsActivity.class)
503
                activity.startActivity(new Intent(activity, TopicDetailActivity.class)
504 504
                        .putExtra("topicId", talkRecommendBean.topicId + ""));
505 505
                break;
506 506
            case R.id.sv_show_user_name:

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

@ -20,7 +20,7 @@ import com.andview.refreshview.XRefreshView.SimpleXRefreshListener;
20 20
import com.electric.chargingpile.R;
21 21
import com.electric.chargingpile.activity.PersonalPageActivity;
22 22
import com.electric.chargingpile.activity.PublishItemsActivity;
23
import com.electric.chargingpile.activity.TopicDetailsActivity;
23
import com.electric.chargingpile.activity.TopicDetailActivity;
24 24
import com.electric.chargingpile.activity.VideoDetaislActivity;
25 25
import com.electric.chargingpile.adapter.LayoutAdapter;
26 26
import com.electric.chargingpile.application.MainApplication;
@ -163,7 +163,7 @@ public class TalkRecommendFragment extends Fragment implements View.OnClickListe
163 163
                }
164 164
165 165
                if (talkRecommendBeans.get(pos).targetType == 25) {
166
                    startActivity(new Intent(getActivity(), TopicDetailsActivity.class).putExtra("topicId", talkRecommendBeans.get(pos).topicId + ""));
166
                    startActivity(new Intent(getActivity(), TopicDetailActivity.class).putExtra("topicId", talkRecommendBeans.get(pos).topicId + ""));
167 167
                } else {
168 168
                    Disposable disposable = Observable
169 169
                            .fromIterable(talkRecommendBeans)

BIN
app/src/main/res/drawable-hdpi/chat_publish_icon.png


BIN
app/src/main/res/drawable-hdpi/提问.png


BIN
app/src/main/res/drawable-mdpi/chat_publish_icon.png


BIN
app/src/main/res/drawable-mdpi/提问.png


BIN
app/src/main/res/drawable-xhdpi/bg_w_4.9.png


BIN
app/src/main/res/drawable-xhdpi/bg_w_4.png


BIN
app/src/main/res/drawable-xhdpi/chat_publish_icon.png


BIN
app/src/main/res/drawable-xhdpi/提问.png


BIN
app/src/main/res/drawable-xxhdpi/chat_publish_icon.png


BIN
app/src/main/res/drawable-xxhdpi/提问.png


BIN
app/src/main/res/drawable-xxxhdpi/发布.png


BIN
app/src/main/res/drawable-xxxhdpi/提问.png


+ 14 - 142
app/src/main/res/layout/activity_topic_details_info.xml

@ -1,147 +1,19 @@
1 1
<?xml version="1.0" encoding="utf-8"?>
2
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
    android:id="@+id/id_drawerlayout"
2
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
    xmlns:app="http://schemas.android.com/apk/res-auto"
4
    xmlns:tools="http://schemas.android.com/tools"
4 5
    android:layout_width="match_parent"
5
    android:layout_height="match_parent">
6
    android:layout_height="match_parent"
7
    tools:context=".activity.TopicDetailActivity">
6 8
7
    <RelativeLayout
8
        android:id="@+id/whole_view"
9
        android:layout_width="match_parent"
10
        android:layout_height="match_parent"
11
        android:orientation="vertical"
12
        android:scrollbars="none">
9
    <com.andview.refreshview.XRefreshView
10
        android:layout_width="0dp"
11
        android:layout_height="0dp"
12
        app:layout_constraintBottom_toBottomOf="parent"
13
        app:layout_constraintEnd_toEndOf="parent"
14
        app:layout_constraintStart_toStartOf="parent"
15
        app:layout_constraintTop_toTopOf="parent">
13 16
14
    <com.electric.chargingpile.view.PullToZoomScrollView3
15
        android:id="@+id/scroll_view"
16
        android:layout_width="match_parent"
17
        android:layout_height="wrap_content">
17
    </com.andview.refreshview.XRefreshView>
18 18
19
        <LinearLayout
20
            android:layout_width="match_parent"
21
            android:layout_height="wrap_content"
22
            android:gravity="center_horizontal"
23
            android:orientation="vertical">
24
25
            <include layout="@layout/activity_topic_info_top" />
26
27
            <View
28
                android:id="@+id/make_header_lines"
29
                android:layout_width="match_parent"
30
                android:layout_height="49dp"
31
                android:visibility="gone" />
32
33
            <include layout="@layout/activity_topic_infos_content" />
34
        </LinearLayout>
35
    </com.electric.chargingpile.view.PullToZoomScrollView3>
36
37
38
    <RelativeLayout
39
        android:id="@+id/rl_title"
40
        android:layout_width="fill_parent"
41
        android:layout_height="44dp"
42
        android:background="@color/title_background" >
43
44
        <ImageView
45
            android:id="@+id/iv_back"
46
            android:layout_width="wrap_content"
47
            android:layout_height="match_parent"
48
            android:layout_alignParentLeft="true"
49
            android:layout_centerVertical="true"
50
            android:contentDescription="@null"
51
            android:paddingLeft="15dp"
52
            android:paddingRight="15dp"
53
            android:src="@drawable/icon_lvback1119" />
54
55
        <TextView
56
            android:id="@+id/textview"
57
            android:layout_width="match_parent"
58
            android:layout_height="match_parent"
59
            android:layout_centerInParent="true"
60
            android:layout_toRightOf="@+id/iv_back"
61
            android:layout_toLeftOf="@+id/textview_share"
62
            android:gravity="center"
63
            android:singleLine="true"
64
            android:ellipsize="end"
65
            android:text=""
66
            android:textColor="#222222"
67
            android:textSize="16sp" />
68
69
        <TextView
70
            android:id="@+id/textview_share"
71
            android:layout_width="wrap_content"
72
            android:layout_height="match_parent"
73
            android:layout_alignParentRight="true"
74
            android:gravity="center"
75
            android:paddingRight="15dp"
76
            android:paddingLeft="15dp"
77
            android:text="分享"
78
            android:textColor="#222222"
79
            android:textSize="15sp"/>
80
    </RelativeLayout>
81
82
</RelativeLayout>
83
84
    <ImageView
85
        android:id="@+id/iv_ask"
86
        android:layout_width="56dp"
87
        android:layout_height="56dp"
88
        android:layout_alignParentRight="true"
89
        android:layout_alignParentBottom="true"
90
        android:layout_marginRight="15dp"
91
        android:layout_marginBottom="72dp"
92
        android:src="@drawable/app_share_talk_icon"/>
93
94
    <RelativeLayout
95
        android:layout_width="match_parent"
96
        android:layout_height="match_parent"
97
        android:background="@color/white"
98
        android:id="@+id/no_net_view"
99
        android:visibility="gone">
100
101
        <RelativeLayout
102
            android:id="@+id/rl_title_nonet"
103
            android:layout_width="fill_parent"
104
            android:layout_height="44dp"
105
            android:background="@color/white"
106
            android:visibility="visible">
107
108
            <ImageView
109
                android:id="@+id/iv_back_nonet"
110
                android:layout_width="wrap_content"
111
                android:layout_height="match_parent"
112
                android:layout_alignParentLeft="true"
113
                android:layout_centerVertical="true"
114
                android:contentDescription="@null"
115
                android:paddingLeft="15dp"
116
                android:paddingRight="15dp"
117
                android:src="@drawable/icon_lvback1119" />
118
119
        </RelativeLayout>
120
121
        <TextView
122
            android:id="@+id/banquan"
123
            android:layout_width="wrap_content"
124
            android:layout_height="wrap_content"
125
            android:layout_marginTop="260dp"
126
            android:text="小主网络跑掉了,请检查网络~"
127
            android:gravity="center"
128
            android:layout_centerHorizontal="true"
129
            android:textSize="14sp"
130
            android:textColor="#555555" />
131
132
        <TextView
133
            android:id="@+id/request_refresh"
134
            android:layout_width="144dp"
135
            android:layout_height="40dp"
136
            android:layout_centerHorizontal="true"
137
            android:layout_marginTop="20dp"
138
            android:layout_below="@+id/banquan"
139
            android:text="点击重新尝试"
140
            android:gravity="center"
141
            android:textSize="14sp"
142
            android:textColor="#555555"
143
            android:background="@drawable/bg_route_line_818181"/>
144
145
    </RelativeLayout>
146
147
</RelativeLayout>
19
</android.support.constraint.ConstraintLayout>

+ 4 - 0
build.gradle

@ -8,6 +8,8 @@ buildscript {
8 8
//        appKey = 'mnhwhy8jP7Fq2G6b' // 注册时分配的App Key
9 9
//    }
10 10
    repositories {
11
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/' }
12
        maven{ url 'https://maven.aliyun.com/repository/google' }
11 13
        jcenter()
12 14
        google()
13 15
    }
@ -22,6 +24,8 @@ buildscript {
22 24
}
23 25
allprojects {
24 26
    repositories {
27
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/' }
28
        maven{ url 'https://maven.aliyun.com/repository/google' }
25 29
        jcenter()
26 30
        google()
27 31
        maven { url "https://jitpack.io" }