Browse Source

Merge branch 'master' of /Users/dxh/android_chargingpile with conflicts.

dxh 6 years ago
parent
commit
2e200f4475

BIN
app/.DS_Store


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

@ -0,0 +1,306 @@
1
package com.electric.chargingpile.activity;
2
3
import android.app.Activity;
4
import android.content.Intent;
5
import android.graphics.Bitmap;
6
import android.graphics.drawable.BitmapDrawable;
7
import android.graphics.drawable.Drawable;
8
import android.os.Bundle;
9
import android.support.annotation.Nullable;
10
import android.support.v7.widget.RecyclerView;
11
import android.support.v7.widget.StaggeredGridLayoutManager;
12
import android.util.Log;
13
import android.view.View;
14
import android.widget.TextView;
15
import android.widget.Toast;
16
17
import com.andview.refreshview.XRefreshView;
18
import com.blankj.utilcode.util.LogUtils;
19
import com.electric.chargingpile.R;
20
import com.electric.chargingpile.adapter.WaterFallAdapter;
21
import com.electric.chargingpile.application.MainApplication;
22
import com.electric.chargingpile.data.ChargingShareBean;
23
import com.electric.chargingpile.data.HomePageBean;
24
import com.electric.chargingpile.data.TalkRecommendBean;
25
import com.electric.chargingpile.util.BarColorUtil;
26
import com.electric.chargingpile.util.JsonUtils;
27
import com.electric.chargingpile.util.NetUtil;
28
import com.electric.chargingpile.util.ToastUtil;
29
import com.electric.chargingpile.view.RoundImageView;
30
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
31
import com.squareup.picasso.Picasso;
32
import com.squareup.picasso.Target;
33
import com.umeng.analytics.MobclickAgent;
34
import com.zhy.http.okhttp.OkHttpUtils;
35
import com.zhy.http.okhttp.callback.StringCallback;
36
37
import java.util.ArrayList;
38
import java.util.HashMap;
39
import java.util.Map;
40
41
import cn.sharesdk.framework.Platform;
42
import cn.sharesdk.framework.PlatformActionListener;
43
import cn.sharesdk.framework.ShareSDK;
44
import cn.sharesdk.tencent.qq.QQ;
45
import cn.sharesdk.wechat.friends.Wechat;
46
import cn.sharesdk.wechat.moments.WechatMoments;
47
import okhttp3.Call;
48
49
/**
50
 * 个人中心
51
 */
52
public class PersonalPageActivity extends Activity implements View.OnClickListener {
53
54
    private XRefreshView xRefreshView;
55
    private StaggeredGridLayoutManager layoutManager;
56
    private WaterFallAdapter waterFallAdapter;
57
    RecyclerView recyclerView;
58
    private int page = 1;
59
    private boolean haveLoadHeaderData;
60
    private TextView username_text, username_content, data_info;
61
    private RoundImageView iconPic;
62
    private TextView banquan;
63
    @Override
64
    protected void onCreate(@Nullable Bundle savedInstanceState) {
65
        super.onCreate(savedInstanceState);
66
        setContentView(R.layout.activity_personal_page);
67
        initView();
68
        initListener();
69
        BarColorUtil.initStatusBarColor(this);
70
        if(NetUtil.CheckNetwork(this)){
71
            requestData();
72
        }else {
73
            findViewById(R.id.no_net_view).setVisibility(View.VISIBLE);
74
            findViewById(R.id.request_refresh).setOnClickListener(this);
75
        }
76
    }
77
78
    private void requestData() {
79
80
        String url = MainApplication.urlNew + "/user/homepage.do";
81
        Map<String, String> map = new HashMap<>();
82
        map.put("page", page + "");
83
        map.put("limit", "20");
84
        if (MainApplication.isLogin()) {
85
            map.put("userId", MainApplication.userId);
86
            map.put("targetUserId", MainApplication.userId);
87
        }
88
        OkHttpUtils.get().params(map).url(url).build().connTimeOut(6000).readTimeOut(6000).execute(new StringCallback() {
89
            @Override
90
            public void onError(Call call, Exception e) {
91
                if (page == 1)
92
                    xRefreshView.stopRefresh();
93
                else
94
                    xRefreshView.setLoadComplete(true);
95
                ToastUtil.showToast(getApplicationContext(), "加载失败,请重试", Toast.LENGTH_SHORT);
96
            }
97
98
            @Override
99
            public void onResponse(String response) {
100
                if (page == 1)
101
                    xRefreshView.stopRefresh();
102
                else
103
                    xRefreshView.setLoadComplete(true);
104
105
                String rtnCode = JsonUtils.getKeyResult(response, "code");
106
                if ("1000".equals(rtnCode)) {
107
                    String rtnMsg = JsonUtils.getKeyResult(response, "data");
108
                    HomePageBean qadata = (HomePageBean) JsonUtils.parseToObjectBean(rtnMsg, HomePageBean.class);
109
                    if(!haveLoadHeaderData){
110
                        haveLoadHeaderData = true;
111
                        initHeaderData(qadata);
112
                    }
113
                    if (page == 1)
114
                        waterFallAdapter.setData(qadata.list);
115
                    else
116
                        waterFallAdapter.addData(qadata.list);
117
118
                    if((page == 1 && null == qadata.list) || (page == 1 && qadata.list.size() == 0)){
119
120
                        findViewById(R.id.no_net_view).setVisibility(View.VISIBLE);
121
                        findViewById(R.id.request_refresh).setVisibility(View.GONE);
122
                        banquan.setText("快来分享吧\n" +
123
                                "小主大家都很期待你的精彩内容哦");
124
                    }else {
125
                        findViewById(R.id.no_net_view).setVisibility(View.GONE);
126
                    }
127
                } else if ("02".equals(rtnCode)) {
128
                    ToastUtil.showToast(getApplicationContext(), "已经全部加载完毕", Toast.LENGTH_SHORT);
129
                }
130
            }
131
        });
132
    }
133
134
    private void initHeaderData(HomePageBean qadata) {
135
        username_text.setText(qadata.userVo.nickName);
136
        username_content.setText(qadata.userVo.carName);
137
        data_info.setText(qadata.userVo.topicNums+"");
138
        if (!"".equals(qadata.userVo.headImgUrl)){
139
            Picasso.with(this)
140
                    .load(qadata.userVo.headImgUrl)
141
                    .into(new Target() {
142
                        @Override
143
                        public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom loadedFrom) {
144
                            iconPic.setImageBitmap(bitmap);
145
                        }
146
147
                        @Override
148
                        public void onBitmapFailed(Drawable drawable) {
149
150
                        }
151
152
                        @Override
153
                        public void onPrepareLoad(Drawable drawable) {
154
155
                        }
156
                    });
157
        }else {
158
            iconPic.setImageResource(R.drawable.icon_face2_0);
159
        }
160
    }
161
162
    private void initListener() {
163
        findViewById(R.id.iv_back).setOnClickListener(this);
164
        findViewById(R.id.user_edit).setOnClickListener(this);
165
        findViewById(R.id.iv_more).setOnClickListener(this);
166
    }
167
168
    private void initView() {
169
        banquan = (TextView)findViewById(R.id.banquan);
170
        iconPic = (RoundImageView) findViewById(R.id.user_avater);
171
        username_content = (TextView) findViewById(R.id.username_content);
172
        username_text = (TextView) findViewById(R.id.username_text);
173
        data_info = (TextView) findViewById(R.id.data_info);
174
        xRefreshView = (XRefreshView) findViewById(R.id.xrefreshview);
175
        xRefreshView.setPullLoadEnable(true);
176
        recyclerView = (RecyclerView) findViewById(R.id.recycler_view_test_rv);
177
        recyclerView.setHasFixedSize(true);
178
179
        username_text.setText(MainApplication.userNickname);
180
181
        waterFallAdapter = new WaterFallAdapter(this);
182
        layoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
183
        recyclerView.setLayoutManager(layoutManager);
184
        recyclerView.setAdapter(waterFallAdapter);
185
        xRefreshView.setPinnedTime(1000);
186
        xRefreshView.setMoveForHorizontal(true);
187
188
        xRefreshView.setXRefreshViewListener(new XRefreshView.SimpleXRefreshListener() {
189
190
            @Override
191
            public void onRefresh(boolean isPullDown) {
192
                page = 1;
193
                requestData();
194
            }
195
196
            @Override
197
            public void onLoadMore(boolean isSilence) {
198
                page++;
199
                requestData();
200
            }
201
        });
202
    }
203
204
    @Override
205
    public void onClick(View v) {
206
        switch (v.getId()) {
207
            case R.id.iv_back:
208
                finish();
209
                break;
210
            case R.id.request_refresh:
211
                if(NetUtil.CheckNetwork(this)){
212
                    findViewById(R.id.no_net_view).setVisibility(View.GONE);
213
                    requestData();
214
                }
215
                break;
216
            case R.id.iv_more:
217
                ChargingShareBean chargingShareBean = new ChargingShareBean();
218
//                chargingShareBean.setIcon(shareThumbnail);
219
//                chargingShareBean.setTitle(shareTitle);
220
//                chargingShareBean.setUrl(shareUrl);
221
                chargingShareBean.setText("");
222
                showSimpleBottomSheetGrid(chargingShareBean);
223
                break;
224
            case R.id.user_edit:
225
                MobclickAgent.onEvent(getApplicationContext(), "0802");
226
                startActivity(new Intent(getApplicationContext(), UserInfoActivity.class));
227
                break;
228
        }
229
    }
230
231
    private void showSimpleBottomSheetGrid(final ChargingShareBean chargingShareBean) {
232
        final int TAG_SHARE_WECHAT_FRIEND = 0;
233
        final int TAG_SHARE_WECHAT_MOMENT = 1;
234
        final int TAG_SHARE_QQ = 2;
235
        QMUIBottomSheet.BottomGridSheetBuilder builder = new QMUIBottomSheet.BottomGridSheetBuilder(PersonalPageActivity.this);
236
        QMUIBottomSheet build = builder.addItem(R.drawable.icon_share_wechat, "微信", TAG_SHARE_WECHAT_FRIEND, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
237
                .addItem(R.drawable.icon_share_wechatquan, "朋友圈", TAG_SHARE_WECHAT_MOMENT, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
238
                .addItem(R.drawable.icon_share_qq, "QQ", TAG_SHARE_QQ, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
239
                .setOnSheetItemClickListener(new QMUIBottomSheet.BottomGridSheetBuilder.OnSheetItemClickListener() {
240
                    @Override
241
                    public void onClick(QMUIBottomSheet dialog, View itemView) {
242
                        dialog.dismiss();
243
                        int tag = (int) itemView.getTag();
244
                        switch (tag) {
245
                            case TAG_SHARE_WECHAT_FRIEND:
246
                                share(Wechat.NAME,chargingShareBean);
247
                                break;
248
                            case TAG_SHARE_WECHAT_MOMENT:
249
                                share(WechatMoments.NAME,chargingShareBean);
250
                                break;
251
                            case TAG_SHARE_QQ:
252
                                share(QQ.NAME,chargingShareBean);
253
                                break;
254
                        }
255
                    }
256
                }).build();
257
//        build.
258
        build.show();
259
    }
260
261
    private void share(final String name,ChargingShareBean chargingShareBean) {
262
        Platform.ShareParams paramsToShare = new Platform.ShareParams();
263
        paramsToShare.setText(chargingShareBean.getText());
264
        paramsToShare.setTitle(chargingShareBean.getTitle());
265
        paramsToShare.setTitleUrl(chargingShareBean.getUrl());
266
        paramsToShare.setUrl(chargingShareBean.getUrl());
267
        paramsToShare.setImageUrl(chargingShareBean.getIcon());
268
        paramsToShare.setShareType(Platform.SHARE_WEBPAGE);
269
        Platform platform = ShareSDK.getPlatform(name);
270
        platform.setPlatformActionListener(new PlatformActionListener() {
271
            @Override
272
            public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
273
                if (MainApplication.isLogin()) {
274
                    getShareIntegral();
275
                }
276
            }
277
278
            @Override
279
            public void onError(Platform platform, int i, Throwable throwable) {
280
                LogUtils.e(throwable.getMessage());
281
            }
282
283
            @Override
284
            public void onCancel(Platform platform, int i) {
285
            }
286
        });
287
        platform.share(paramsToShare);
288
    }
289
290
    private void getShareIntegral(){
291
        String url = MainApplication.url+"/zhannew/basic/web/index.php/member/insert-task?userid="+MainApplication.userId;
292
        OkHttpUtils.get().url(url).build().execute(new StringCallback() {
293
            @Override
294
            public void onError(Call call, Exception e) {
295
296
            }
297
298
            @Override
299
            public void onResponse(String response) {
300
                String rtnCode = JsonUtils.getKeyResult(response,"rtnCode");
301
                if (rtnCode.equals("01")){
302
                }
303
            }
304
        });
305
    }
306
}

+ 158 - 158
app/src/main/java/com/electric/chargingpile/activity/PublishTopicActivity.java

@ -1,158 +1,158 @@
1
package com.electric.chargingpile.activity;
2
3
import android.Manifest;
4
import android.app.Activity;
5
import android.content.Context;
6
import android.content.Intent;
7
import android.content.pm.PackageInfo;
8
import android.content.pm.PackageManager;
9
import android.graphics.Bitmap;
10
import android.graphics.BitmapFactory;
11
import android.net.Uri;
12
import android.os.Bundle;
13
import android.os.Environment;
14
import android.provider.MediaStore;
15
import android.text.Editable;
16
import android.text.Html;
17
import android.text.TextWatcher;
18
import android.view.View;
19
import android.view.View.OnClickListener;
20
import android.widget.EditText;
21
import android.widget.ImageView;
22
import android.widget.TextView;
23
import android.widget.Toast;
24
25
import com.electric.chargingpile.R;
26
import com.electric.chargingpile.data.TalkRecommendBean;
27
import com.electric.chargingpile.util.BarColorUtil;
28
import com.electric.chargingpile.view.MyGridView;
29
import com.umeng.analytics.MobclickAgent;
30
31
import java.io.File;
32
import java.io.FileOutputStream;
33
import java.io.IOException;
34
import java.util.List;
35
36
import pub.devrel.easypermissions.AfterPermissionGranted;
37
import pub.devrel.easypermissions.AppSettingsDialog;
38
import pub.devrel.easypermissions.EasyPermissions;
39
40
public class PublishTopicActivity extends Activity implements OnClickListener {
41
    private ImageView ivBack, icon_scan;
42
    private TextView tvVersion, tv_banquan, tv_call, android;
43
    private String app_version;
44
    Context mContext;
45
    private static final int RC_CALL_PERM = 123;
46
    private ImageView mPublishtopicBack;
47
    private TextView mPublishtopicPublish;
48
    private EditText mPublishtopicCon;
49
    private MyGridView mPublishtopicGv;
50
    private TextView mPublishtopicChooseTopic;
51
    private TextView mPublishtopicChoosePreview;
52
    private TextView mPublishtopicWordNum;
53
    private ImageView mPublishTopicDe;
54
55
56
    @Override
57
    protected void onCreate(Bundle savedInstanceState) {
58
        super.onCreate(savedInstanceState);
59
        setContentView(R.layout.activity_publishtopic);
60
        mContext = this;
61
        BarColorUtil.initStatusBarColor(PublishTopicActivity.this);
62
        initView();
63
    }
64
65
    private void initView() {
66
        mPublishtopicBack = (ImageView) findViewById(R.id.publishtopic_back);
67
        mPublishtopicPublish = (TextView) findViewById(R.id.publishtopic_publish);
68
        mPublishtopicCon = (EditText) findViewById(R.id.publishtopic_con);
69
        mPublishtopicGv = (MyGridView) findViewById(R.id.publishtopic_gv);
70
        mPublishtopicChooseTopic = (TextView) findViewById(R.id.publishtopic_choose_topic);
71
        mPublishtopicChoosePreview = (TextView) findViewById(R.id.publishtopic_choose_preview);
72
        mPublishtopicWordNum = (TextView) findViewById(R.id.publishtopic_word_num);
73
        mPublishTopicDe = (ImageView) findViewById(R.id.publishtopic_choose_topic_de);
74
75
        mPublishtopicCon.addTextChangedListener(new TextWatcher() {
76
            @Override
77
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
78
79
            }
80
81
            @Override
82
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
83
84
85
            }
86
87
            @Override
88
            public void afterTextChanged(Editable editable) {
89
                int length = editable.length();
90
                if (length > 500) {
91
                    mPublishtopicWordNum.setText(Html.fromHtml("<font  color=\"#FF4E4E\">" + length + "</font>/500"));
92
                } else {
93
                    mPublishtopicWordNum.setText(length + "/500");
94
                }
95
            }
96
        });
97
98
99
        mPublishtopicBack.setOnClickListener(this);
100
        mPublishtopicPublish.setOnClickListener(this);
101
        mPublishtopicChoosePreview.setOnClickListener(this);
102
        mPublishtopicChooseTopic.setOnClickListener(this);
103
        mPublishTopicDe.setOnClickListener(this);
104
    }
105
106
107
    @Override
108
    public void onClick(View v) {
109
        switch (v.getId()) {
110
            case R.id.publishtopic_back:
111
                finish();
112
                break;
113
            case R.id.publishtopic_publish:
114
                break;
115
116
            case R.id.publishtopic_choose_topic:
117
                startActivityForResult(new Intent(this, TopicActivity.class), reqTopic);
118
                break;
119
            case R.id.publishtopic_choose_preview:
120
                break;
121
            case R.id.publishtopic_choose_topic_de:
122
                mPublishtopicChooseTopic.setText("# 选择话题");
123
                mPublishTopicDe.setVisibility(View.GONE);
124
                talkRecommendBean = null;
125
                break;
126
            default:
127
                break;
128
        }
129
    }
130
131
    final int reqTopic = -100;
132
133
    TalkRecommendBean talkRecommendBean = null;
134
135
    @Override
136
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
137
        if (requestCode == -100 && resultCode == -100) {
138
            talkRecommendBean = (TalkRecommendBean) data.getSerializableExtra("topic");
139
            if (talkRecommendBean != null) {
140
                mPublishtopicChooseTopic.setText("# " + talkRecommendBean.name);
141
                mPublishTopicDe.setVisibility(View.VISIBLE);
142
            }
143
        }
144
        super.onActivityResult(requestCode, resultCode, data);
145
    }
146
147
    @Override
148
    protected void onResume() {
149
        super.onResume();
150
        MobclickAgent.onResume(this);
151
    }
152
153
    @Override
154
    protected void onPause() {
155
        super.onPause();
156
        MobclickAgent.onPause(this);
157
    }
158
}
1
package com.electric.chargingpile.activity;
2

3
import android.Manifest;
4
import android.app.Activity;
5
import android.content.Context;
6
import android.content.Intent;
7
import android.content.pm.PackageInfo;
8
import android.content.pm.PackageManager;
9
import android.graphics.Bitmap;
10
import android.graphics.BitmapFactory;
11
import android.net.Uri;
12
import android.os.Bundle;
13
import android.os.Environment;
14
import android.provider.MediaStore;
15
import android.text.Editable;
16
import android.text.Html;
17
import android.text.TextWatcher;
18
import android.view.View;
19
import android.view.View.OnClickListener;
20
import android.widget.EditText;
21
import android.widget.ImageView;
22
import android.widget.TextView;
23
import android.widget.Toast;
24

25
import com.electric.chargingpile.R;
26
import com.electric.chargingpile.data.TalkRecommendBean;
27
import com.electric.chargingpile.util.BarColorUtil;
28
import com.electric.chargingpile.view.MyGridView;
29
import com.umeng.analytics.MobclickAgent;
30

31
import java.io.File;
32
import java.io.FileOutputStream;
33
import java.io.IOException;
34
import java.util.List;
35

36
import pub.devrel.easypermissions.AfterPermissionGranted;
37
import pub.devrel.easypermissions.AppSettingsDialog;
38
import pub.devrel.easypermissions.EasyPermissions;
39

40
public class PublishTopicActivity extends Activity implements OnClickListener {
41
    private ImageView ivBack, icon_scan;
42
    private TextView tvVersion, tv_banquan, tv_call, android;
43
    private String app_version;
44
    Context mContext;
45
    private static final int RC_CALL_PERM = 123;
46
    private ImageView mPublishtopicBack;
47
    private TextView mPublishtopicPublish;
48
    private EditText mPublishtopicCon;
49
    private MyGridView mPublishtopicGv;
50
    private TextView mPublishtopicChooseTopic;
51
    private TextView mPublishtopicChoosePreview;
52
    private TextView mPublishtopicWordNum;
53
    private ImageView mPublishTopicDe;
54

55

56
    @Override
57
    protected void onCreate(Bundle savedInstanceState) {
58
        super.onCreate(savedInstanceState);
59
        setContentView(R.layout.activity_publishtopic);
60
        mContext = this;
61
        BarColorUtil.initStatusBarColor(PublishTopicActivity.this);
62
        initView();
63
    }
64

65
    private void initView() {
66
        mPublishtopicBack = (ImageView) findViewById(R.id.publishtopic_back);
67
        mPublishtopicPublish = (TextView) findViewById(R.id.publishtopic_publish);
68
        mPublishtopicCon = (EditText) findViewById(R.id.publishtopic_con);
69
        mPublishtopicGv = (MyGridView) findViewById(R.id.publishtopic_gv);
70
        mPublishtopicChooseTopic = (TextView) findViewById(R.id.publishtopic_choose_topic);
71
        mPublishtopicChoosePreview = (TextView) findViewById(R.id.publishtopic_choose_preview);
72
        mPublishtopicWordNum = (TextView) findViewById(R.id.publishtopic_word_num);
73
        mPublishTopicDe = (ImageView) findViewById(R.id.publishtopic_choose_topic_de);
74

75
        mPublishtopicCon.addTextChangedListener(new TextWatcher() {
76
            @Override
77
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
78

79
            }
80

81
            @Override
82
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
83

84

85
            }
86

87
            @Override
88
            public void afterTextChanged(Editable editable) {
89
                int length = editable.length();
90
                if (length > 500) {
91
                    mPublishtopicWordNum.setText(Html.fromHtml("<font  color=\"#FF4E4E\">" + length + "</font>/500"));
92
                } else {
93
                    mPublishtopicWordNum.setText(length + "/500");
94
                }
95
            }
96
        });
97

98

99
        mPublishtopicBack.setOnClickListener(this);
100
        mPublishtopicPublish.setOnClickListener(this);
101
        mPublishtopicChoosePreview.setOnClickListener(this);
102
        mPublishtopicChooseTopic.setOnClickListener(this);
103
        mPublishTopicDe.setOnClickListener(this);
104
    }
105

106

107
    @Override
108
    public void onClick(View v) {
109
        switch (v.getId()) {
110
            case R.id.publishtopic_back:
111
                finish();
112
                break;
113
            case R.id.publishtopic_publish:
114
                break;
115

116
            case R.id.publishtopic_choose_topic:
117
                startActivityForResult(new Intent(this, TopicActivity.class), reqTopic);
118
                break;
119
            case R.id.publishtopic_choose_preview:
120
                break;
121
            case R.id.publishtopic_choose_topic_de:
122
                mPublishtopicChooseTopic.setText("# 选择话题");
123
                mPublishTopicDe.setVisibility(View.GONE);
124
                talkRecommendBean = null;
125
                break;
126
            default:
127
                break;
128
        }
129
    }
130

131
    final int reqTopic = -100;
132

133
    TalkRecommendBean talkRecommendBean = null;
134

135
    @Override
136
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
137
        if (requestCode == -100 && resultCode == -100) {
138
            talkRecommendBean = (TalkRecommendBean) data.getSerializableExtra("topic");
139
            if (talkRecommendBean != null) {
140
                mPublishtopicChooseTopic.setText("# " + talkRecommendBean.name);
141
                mPublishTopicDe.setVisibility(View.VISIBLE);
142
            }
143
        }
144
        super.onActivityResult(requestCode, resultCode, data);
145
    }
146

147
    @Override
148
    protected void onResume() {
149
        super.onResume();
150
        MobclickAgent.onResume(this);
151
    }
152

153
    @Override
154
    protected void onPause() {
155
        super.onPause();
156
        MobclickAgent.onPause(this);
157
    }
158
}

+ 178 - 0
app/src/main/java/com/electric/chargingpile/adapter/WaterFallAdapter.java

@ -0,0 +1,178 @@
1
package com.electric.chargingpile.adapter;
2
3
import android.content.Context;
4
import android.support.v7.widget.LinearLayoutManager;
5
import android.support.v7.widget.RecyclerView;
6
import android.support.v7.widget.StaggeredGridLayoutManager;
7
import android.text.TextUtils;
8
import android.view.LayoutInflater;
9
import android.view.View;
10
import android.view.ViewGroup;
11
import android.widget.ImageView;
12
import android.widget.LinearLayout;
13
import android.widget.RelativeLayout;
14
import android.widget.TextView;
15
16
import com.aspsine.irecyclerview.IViewHolder;
17
import com.electric.chargingpile.R;
18
import com.electric.chargingpile.data.TalkRecommendBean;
19
import com.electric.chargingpile.iview.RecyclerItemTypeClickListener;
20
import com.electric.chargingpile.util.CircleTransform;
21
import com.electric.chargingpile.util.ImageDisplayUtils;
22
import com.electric.chargingpile.util.ScreenUtils;
23
import com.squareup.picasso.Picasso;
24
25
import java.util.ArrayList;
26
27
public class WaterFallAdapter extends RecyclerView.Adapter<IViewHolder> {
28
29
    private Context context;
30
    private LayoutInflater LayoutInflater;
31
    private ArrayList<TalkRecommendBean> talkRecommendBeans;
32
    private ArrayList<TalkRecommendBean> talkHeaderRecommendBeans;
33
    private RecyclerItemTypeClickListener onRecyclerItemClickListener;
34
    private int screenWidth;
35
36
    public WaterFallAdapter(Context context) {
37
        this.context = context;
38
        LayoutInflater = LayoutInflater.from(context);
39
        talkRecommendBeans = new ArrayList<>();
40
        talkHeaderRecommendBeans = new ArrayList<>();
41
        screenWidth = ScreenUtils.getScreenWidth(context);
42
    }
43
44
    public void setData(ArrayList<TalkRecommendBean> datas) {
45
        talkRecommendBeans = datas;
46
        notifyDataSetChanged();
47
    }
48
49
    public void addData(ArrayList<TalkRecommendBean> datas) {
50
        talkRecommendBeans.addAll(datas);
51
        notifyDataSetChanged();
52
    }
53
54
    public ArrayList<TalkRecommendBean> getCurrentData() {
55
        return talkRecommendBeans;
56
    }
57
58
    public void setOnRecyclerItemClickListener(RecyclerItemTypeClickListener onRecyclerItemClickListener) {
59
        this.onRecyclerItemClickListener = onRecyclerItemClickListener;
60
    }
61
62
    @Override
63
    public int getItemCount() {
64
        // 加一是因为添加了头部
65
        return talkRecommendBeans.size();
66
    }
67
68
    @Override
69
    public IViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
70
        View view = null;
71
        IViewHolder holder = null;
72
73
        view = LayoutInflater.inflate(R.layout.app_talk_item_recylerview, parent, false);
74
        holder = new SimpleViewHolder(view);
75
        return holder;
76
    }
77
78
    @Override
79
    public void onBindViewHolder(IViewHolder holder, int position) {
80
        setListHolder(holder, position);
81
    }
82
83
    private void setListHolder(IViewHolder holder, int position) {
84
        SimpleViewHolder simpleViewHolder = (SimpleViewHolder) holder;
85
86
        RelativeLayout.LayoutParams lpImg = (RelativeLayout.LayoutParams) simpleViewHolder.info_bg_icon.getLayoutParams();
87
88
//        LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) simpleViewHolder.user_avater.getLayoutParams(); //取控件textView当前的布局参数 linearParams.height = 20;// 控件的高强制设成20
89
        if (position % 2 == 0) {
90
            lpImg.width = screenWidth / 2;
91
            lpImg.height = screenWidth * 2 / 3 - 100;
92
            simpleViewHolder.info_bg_icon.setLayoutParams(lpImg);
93
        } else {
94
            lpImg.width = screenWidth / 2;
95
            lpImg.height = screenWidth * 2 / 3;
96
            simpleViewHolder.info_bg_icon.setLayoutParams(lpImg);
97
        }
98
99
        TalkRecommendBean talkRecommendBean = talkRecommendBeans.get(position - 1);
100
        simpleViewHolder.recycler_view_title.setText(talkRecommendBean.title);
101
        simpleViewHolder.recycler_view_zan.setText(talkRecommendBean.likeNums + "");
102
        simpleViewHolder.user_avater_name.setText(talkRecommendBean.nickName);
103
        if (talkRecommendBean.isTop == 0)
104
            simpleViewHolder.is_top_view.setVisibility(View.GONE);
105
        else
106
            simpleViewHolder.is_top_view.setVisibility(View.VISIBLE);
107
108
        if (talkRecommendBean.targetType == 23)
109
            simpleViewHolder.info_id_video_icon.setVisibility(View.VISIBLE);
110
        else
111
            simpleViewHolder.info_id_video_icon.setVisibility(View.GONE);
112
113
//        Glide.with(context)
114
//                .load(talkRecommendBean.coverImgUrl)
115
//                .asBitmap()//强制Glide返回一个Bitmap对象
116
//                .into(new Tram);
117
118
        ImageDisplayUtils.dispalyImg(context, talkRecommendBean.coverImgUrl, simpleViewHolder.info_bg_icon);
119
120
//        if (!TextUtils.isEmpty(talkRecommendBean.coverImgUrl)){
121
//            Picasso.with(context).load(talkRecommendBean.coverImgUrl).into(simpleViewHolder.info_bg_icon);
122
//        }
123
124
        if (TextUtils.isEmpty(talkRecommendBean.headImgUrl)) {
125
            Picasso.with(context)
126
                    .load(R.drawable.icon_face2_0)
127
                    .placeholder(R.drawable.icon_face2_0)
128
                    .error(R.drawable.icon_face2_0)
129
                    .transform(new CircleTransform())
130
                    .into(simpleViewHolder.user_avater);
131
        } else {
132
            Picasso.with(context)
133
                    .load(talkRecommendBean.headImgUrl)
134
                    .placeholder(R.drawable.icon_face2_0)
135
                    .error(R.drawable.icon_face2_0)
136
                    .transform(new CircleTransform())
137
                    .into(simpleViewHolder.user_avater);
138
        }
139
    }
140
141
    class SimpleViewHolder extends IViewHolder {
142
143
        TextView recycler_view_title;
144
        TextView recycler_view_zan;
145
        TextView user_avater_name;
146
        TextView is_top_view;
147
        ImageView user_avater;
148
        ImageView info_bg_icon;
149
        ImageView info_id_video_icon;
150
        LinearLayout cardview;
151
152
        public SimpleViewHolder(View view) {
153
            super(view);
154
            recycler_view_title = (TextView) view.findViewById(R.id.recycler_view_title);
155
            user_avater_name = (TextView) view.findViewById(R.id.user_avater_name);
156
            is_top_view = (TextView) view.findViewById(R.id.is_top_view);
157
            recycler_view_zan = (TextView) view.findViewById(R.id.recycler_view_zan);
158
            user_avater = (ImageView) view.findViewById(R.id.user_avater);
159
            info_bg_icon = (ImageView) view.findViewById(R.id.info_bg_icon);
160
            info_id_video_icon = (ImageView) view.findViewById(R.id.info_id_video_icon);
161
            cardview = (LinearLayout) view.findViewById(R.id.cardview);
162
163
            RelativeLayout.LayoutParams lpImg = (RelativeLayout.LayoutParams) info_bg_icon.getLayoutParams();
164
            lpImg.width = screenWidth / 2;
165
            lpImg.height = screenWidth * 2 / 3;
166
            info_bg_icon.setLayoutParams(lpImg);
167
168
            itemView.setOnClickListener(new View.OnClickListener() {
169
                @Override
170
                public void onClick(View view) {
171
                    if (onRecyclerItemClickListener != null) {
172
                        onRecyclerItemClickListener.onItemClickListener(getLayoutPosition(), 1);
173
                    }
174
                }
175
            });
176
        }
177
    }
178
}

+ 17 - 0
app/src/main/java/com/electric/chargingpile/data/HomePageBean.java

@ -0,0 +1,17 @@
1
package com.electric.chargingpile.data;
2
3
import java.util.ArrayList;
4
5
public class HomePageBean {
6
7
8
    public ArrayList<TalkRecommendBean> list;
9
    public HomePageuserVo userVo;
10
11
    public class HomePageuserVo{
12
        public String nickName;
13
        public String headImgUrl;
14
        public String carName;
15
        public int topicNums;
16
    }
17
}

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


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


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


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


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


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


+ 11 - 0
app/src/main/res/drawable/bg_route_line_818181.xml

@ -0,0 +1,11 @@
1
<?xml version="1.0" encoding="UTF-8"?>
2
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
3
    <item>
4
        <shape>
5
            <stroke android:width="0.6dp" android:color="#818181" /><!--边框颜色-->
6
7
            <corners android:radius="20dp" />
8
9
        </shape>
10
    </item>
11
</layer-list>

+ 32 - 0
app/src/main/res/layout/activity_no_net.xml

@ -0,0 +1,32 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
    android:layout_width="match_parent"
4
    android:layout_height="match_parent"
5
    android:background="@color/white"
6
    android:id="@+id/no_net_view">
7

8
    <TextView
9
        android:id="@+id/banquan"
10
        android:layout_width="wrap_content"
11
        android:layout_height="wrap_content"
12
        android:layout_marginTop="130dp"
13
        android:text="小主网络跑掉了,请检查网络~"
14
        android:gravity="center"
15
        android:layout_centerHorizontal="true"
16
        android:textSize="14sp"
17
        android:textColor="#555555" />
18

19
    <TextView
20
        android:id="@+id/request_refresh"
21
        android:layout_width="144dp"
22
        android:layout_height="40dp"
23
        android:layout_centerHorizontal="true"
24
        android:layout_marginTop="20dp"
25
        android:layout_below="@+id/banquan"
26
        android:text="点击重新尝试"
27
        android:gravity="center"
28
        android:textSize="14sp"
29
        android:textColor="#555555"
30
        android:background="@drawable/bg_route_line_818181"/>
31

32
</RelativeLayout>

+ 150 - 0
app/src/main/res/layout/activity_personal_page.xml

@ -0,0 +1,150 @@
1
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2
    xmlns:tools="http://schemas.android.com/tools"
3
    android:layout_width="match_parent"
4
    android:layout_height="match_parent"
5
    xmlns:app="http://schemas.android.com/apk/res-auto"
6
    android:orientation="vertical">
7
8
    <LinearLayout
9
        android:id="@+id/personal_header_view"
10
        android:layout_width="match_parent"
11
        android:layout_height="wrap_content"
12
        android:minHeight="180dp"
13
        android:orientation="vertical"
14
        android:background="@drawable/app_personal_header_bg_icon">
15
16
        <RelativeLayout
17
            android:id="@+id/rl_title"
18
            android:layout_width="fill_parent"
19
            android:layout_height="44dp">
20
21
            <ImageView
22
                android:id="@+id/iv_back"
23
                android:layout_width="wrap_content"
24
                android:layout_height="match_parent"
25
                android:layout_alignParentLeft="true"
26
                android:layout_centerVertical="true"
27
                android:contentDescription="@null"
28
                android:paddingLeft="15dp"
29
                android:paddingRight="15dp"
30
                android:src="@drawable/app_white_back_icon" />
31
32
            <ImageView
33
                android:id="@+id/iv_more"
34
                android:layout_width="wrap_content"
35
                android:layout_height="match_parent"
36
                android:layout_alignParentRight="true"
37
                android:layout_centerVertical="true"
38
                android:contentDescription="@null"
39
                android:paddingLeft="15dp"
40
                android:paddingRight="15dp"
41
                android:src="@drawable/app_header_more_icon" />
42
43
        </RelativeLayout>
44
45
        <RelativeLayout
46
            android:layout_width="match_parent"
47
            android:layout_height="60dp">
48
49
            <!--<ImageView-->
50
                <!--android:id="@+id/user_avater"-->
51
                <!--android:layout_width="56dp"-->
52
                <!--android:layout_height="56dp"-->
53
                <!--android:layout_centerVertical="true"-->
54
                <!--android:contentDescription="@null"-->
55
                <!--android:src="@drawable/ic_category_1"-->
56
                <!--android:layout_marginLeft="16dp"/>-->
57
58
            <com.electric.chargingpile.view.RoundImageView
59
                android:id="@+id/user_avater"
60
                android:layout_width="56dp"
61
                android:layout_height="56dp"
62
                android:layout_centerVertical="true"
63
                android:scaleType="fitXY"
64
                android:layout_gravity="center"
65
                android:layout_marginLeft="16dp"
66
                app:type="circle"
67
                android:background="@drawable/icon_user1118" />
68
69
            <TextView
70
                android:id="@+id/username_text"
71
                android:layout_width="wrap_content"
72
                android:layout_height="wrap_content"
73
                android:layout_marginLeft="10dp"
74
                android:layout_marginTop="2dp"
75
                android:layout_toRightOf="@+id/user_avater"
76
                android:text=""
77
                android:textColor="#ffffff"
78
                android:textSize="16sp"/>
79
80
            <TextView
81
                android:id="@+id/username_content"
82
                android:layout_width="wrap_content"
83
                android:layout_height="wrap_content"
84
                android:layout_marginLeft="10dp"
85
                android:layout_marginTop="3dp"
86
                android:layout_alignParentBottom="true"
87
                android:layout_below="@+id/username_text"
88
                android:layout_toRightOf="@+id/user_avater"
89
                android:text=""
90
                android:textColor="#ffffff"
91
                android:textSize="12sp"/>
92
93
            <ImageView
94
                android:id="@+id/user_edit"
95
                android:layout_width="60dp"
96
                android:layout_height="30dp"
97
                android:layout_alignParentRight="true"
98
                android:layout_marginRight="15dp"
99
                android:src="@drawable/app_header_edit_icon"/>
100
101
        </RelativeLayout>
102
    </LinearLayout>
103
104
    <LinearLayout
105
        android:layout_width="match_parent"
106
        android:layout_height="44dp"
107
        android:orientation="horizontal"
108
        android:gravity="center"
109
        android:background="@color/white">
110
111
        <TextView
112
            android:id="@+id/textview"
113
            android:layout_width="wrap_content"
114
            android:layout_height="wrap_content"
115
            android:text="帖子"
116
            android:textColor="#222222"
117
            android:textSize="16sp"/>
118
119
        <TextView
120
            android:id="@+id/data_info"
121
            android:layout_width="wrap_content"
122
            android:layout_height="wrap_content"
123
            android:layout_marginLeft="5dp"
124
            android:text="0"
125
            android:textColor="#555555"
126
            android:textSize="14sp"/>
127
    </LinearLayout>
128
129
    <View
130
        android:layout_width="match_parent"
131
        android:layout_height="0.5dp"
132
        android:background="@color/bkg_line"/>
133
134
    <include layout="@layout/activity_no_net"
135
        android:visibility="gone"/>
136
137
    <com.andview.refreshview.XRefreshView
138
        android:id="@+id/xrefreshview"
139
        android:layout_width="match_parent"
140
        android:layout_height="match_parent"
141
        android:background="#fff">
142
143
        <android.support.v7.widget.RecyclerView
144
            android:id="@+id/recycler_view_test_rv"
145
            android:layout_width="match_parent"
146
            android:layout_height="match_parent"
147
            android:scrollbars="vertical" />
148
    </com.andview.refreshview.XRefreshView>
149
150
</LinearLayout>

+ 187 - 0
app/src/main/res/layout/activity_publish_picture_content.xml

@ -0,0 +1,187 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
    android:layout_width="match_parent"
4
    android:layout_height="match_parent"
5
    android:focusable="true"
6
    android:focusableInTouchMode="true"
7
    android:background="@color/white"
8
    android:orientation="vertical" >
9

10
    <RelativeLayout
11
        android:id="@+id/rl_title"
12
        android:layout_width="match_parent"
13
        android:layout_height="44dp"
14
        android:layout_alignParentLeft="true"
15
        android:layout_alignParentStart="true"
16
        android:layout_alignParentTop="true"
17
        android:background="@color/white">
18

19
        <TextView
20
            android:layout_width="wrap_content"
21
            android:layout_height="wrap_content"
22
            android:layout_centerInParent="true"
23
            android:text="发布"
24
            android:textColor="@color/ui_62"
25
            android:textSize="18sp" />
26

27
        <ImageView
28
            android:id="@+id/iv_back"
29
            android:layout_width="18dp"
30
            android:layout_height="18dp"
31
            android:layout_alignParentLeft="true"
32
            android:layout_centerVertical="true"
33
            android:layout_marginLeft="12dp"
34
            android:contentDescription="@null"
35
            android:src="@drawable/app_publish_back_icon" />
36

37
        <TextView
38
            android:id="@+id/tv_right"
39
            android:layout_width="wrap_content"
40
            android:layout_height="wrap_content"
41
            android:layout_alignParentRight="true"
42
            android:layout_marginRight="15dp"
43
            android:gravity="center"
44
            android:text="提交"
45
            android:textSize="16sp"
46
            android:textColor="@color/white"
47
            android:layout_centerVertical="true"
48
            android:paddingRight="9dp"
49
            android:paddingLeft="9dp"
50
            android:paddingTop="4dp"
51
            android:paddingBottom="4dp"
52
            android:enabled="false"
53
            android:background="@color/color_9ed3ae"/>
54

55
        <View
56
            android:layout_width="match_parent"
57
            android:layout_height="0.5dp"
58
            android:background="@color/title_line"/>
59
    </RelativeLayout>
60
    
61
    <TextView
62
        android:id="@+id/tv_title"
63
        android:layout_width="wrap_content"
64
        android:layout_height="wrap_content"
65
        android:layout_below="@+id/rl_title"
66
        android:layout_marginTop="15dp"
67
        android:layout_marginLeft="15dp"
68
        android:text="描述问题(必填)"
69
        android:textColor="@color/ui_62"
70
        android:textSize="16sp"
71
        android:visibility="gone"/>
72
    
73
    <EditText
74
        android:id="@+id/et_context"
75
        android:layout_width="match_parent"
76
        android:layout_height="134dp"
77
        android:layout_below="@+id/tv_title"
78
        android:layout_marginTop="16dp"
79
        android:paddingLeft="15dp"
80
        android:paddingRight="15dp"
81
        android:maxEms="500"
82
        android:hint="聊聊你的想法......"
83
        android:textColorHint="@color/ui_68"
84
        android:textSize="14sp"
85
        android:textColor="@color/ui_65"
86
        android:layout_marginBottom="14dp"
87
        android:gravity="left"
88
        android:background="@color/white"
89
        android:lineSpacingExtra="4dp"/>
90

91
    <GridView
92
        android:id="@+id/noScrollgridview"
93
        android:layout_width="match_parent"
94
        android:layout_height="wrap_content"
95
        android:layout_below="@+id/et_context"
96
        android:layout_marginLeft="15dp"
97
        android:layout_marginRight="70dp"
98
        android:numColumns="3"
99
        android:scrollbars="none"
100
        android:verticalSpacing="5dp" >
101
    </GridView>
102

103
    <View
104
        android:layout_width="match_parent"
105
        android:layout_height="0.5dp"
106
        android:background="@color/Line"
107
        android:layout_below="@+id/noScrollgridview"
108
        android:layout_marginTop="12dp"/>
109

110

111
    <ImageView
112
        android:id="@+id/tv_one"
113
        android:layout_width="wrap_content"
114
        android:layout_height="wrap_content"
115
        android:layout_gravity="center"
116
        android:gravity="center"
117
        android:padding="5dp"
118
        android:scaleType="fitXY"
119
        android:background="@drawable/icon_2point"
120
        android:textColor="#000000"
121
        android:visibility="gone"
122
        android:layout_marginBottom="50dp"
123
        android:layout_centerHorizontal="true"
124
        android:layout_alignParentBottom="true"/>
125

126

127
    <RelativeLayout
128
        android:id="@+id/rl_point"
129
        android:layout_width="80dp"
130
        android:layout_height="80dp"
131
        android:layout_marginBottom="50dp"
132
        android:layout_centerHorizontal="true"
133
        android:layout_alignParentBottom="true"
134
        android:visibility="gone"
135
        android:background="@drawable/icon_point_bg">
136

137
        <LinearLayout
138
            android:layout_width="wrap_content"
139
            android:layout_height="wrap_content"
140
            android:orientation="vertical"
141
            android:layout_centerInParent="true">
142

143
            <LinearLayout
144
                android:layout_width="wrap_content"
145
                android:layout_height="wrap_content"
146
                android:layout_gravity="center_horizontal">
147

148
                <TextView
149
                    android:layout_width="wrap_content"
150
                    android:layout_height="wrap_content"
151
                    android:text="+"
152
                    android:textSize="16sp"
153
                    android:textColor="@color/white"/>
154

155
                <TextView
156
                    android:id="@+id/tv_point"
157
                    android:layout_width="wrap_content"
158
                    android:layout_height="wrap_content"
159
                    android:text="20"
160
                    android:textSize="19sp"
161
                    android:layout_marginLeft="2dp"
162
                    android:textColor="@color/white"/>
163

164

165
            </LinearLayout>
166

167
            <TextView
168
                android:layout_width="wrap_content"
169
                android:layout_height="wrap_content"
170
                android:layout_gravity="center_horizontal"
171
                android:text="充电币"
172
                android:textSize="13sp"
173
                android:textColor="@color/white"
174
                android:layout_marginTop="2dp"/>
175

176

177
        </LinearLayout>
178

179

180

181
    </RelativeLayout>
182

183

184

185

186

187
</RelativeLayout>