Commit 88aa7c12dd75220e3397ca372921221602ee9b1f
Merge remote-tracking branch 'origin/master'
# Conflicts: # moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/fragment/RunRaceDetailFragment.java
Showing
19 changed files
with
283 additions
and
80 deletions
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/CollRunRaceDetailFragmentView.java
| ... | ... | @@ -365,7 +365,7 @@ public class CollRunRaceDetailFragmentView implements MvpView, SensorEventListen |
| 365 | 365 | }); |
| 366 | 366 | //查看全部成绩点击事件 |
| 367 | 367 | fragment.binding.includePersonScore.checkAllCord.setOnClickListener(v -> { |
| 368 | - RaceRecordActivity.newInstance(fragment.getActivity()); | |
| 368 | + RaceRecordActivity.newInstance(fragment.getActivity(),runRaceDetailInfo.getTitle()); | |
| 369 | 369 | }); |
| 370 | 370 | |
| 371 | 371 | fragment.binding.includeStreet.fiveJoinPerson.setOnClickListener(v -> { | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/fragment/CollRunRaceDetailFragment.java
| ... | ... | @@ -7,6 +7,7 @@ import android.support.annotation.Nullable; |
| 7 | 7 | import android.view.View; |
| 8 | 8 | |
| 9 | 9 | import com.cnlive.libs.base.ui.QMUIFragment; |
| 10 | +import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; | |
| 10 | 11 | import com.cnlive.moudle.pedometer.frame.presenter.RunRaceDetailFragmentPresenter; |
| 11 | 12 | import com.cnlive.moudle.pedometer.frame.view.RunRaceDetailFragmentView; |
| 12 | 13 | import com.example.moudle_pedometer.R; |
| ... | ... | @@ -47,7 +48,7 @@ public class CollRunRaceDetailFragment extends QMUIFragment<RunRaceDetailFragmen |
| 47 | 48 | getMvpView().initMap();; |
| 48 | 49 | } |
| 49 | 50 | if (getPresenter()!=null){ |
| 50 | - getPresenter().getRunRaceDetailInfo(getActivity(),"116","10513196"); | |
| 51 | + getPresenter().getRunRaceDetailInfo(getActivity(), CommonInfo.getStreetId(getActivity()),"10513196"); | |
| 51 | 52 | } |
| 52 | 53 | |
| 53 | 54 | } | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/presenter/RaceRecorPresenter.java
| ... | ... | @@ -13,7 +13,9 @@ import com.cnlive.strike.data.network.model.BaseInfo; |
| 13 | 13 | import com.cnlive.strike.data.network.model.runAbout.RaceRecordInfo; |
| 14 | 14 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; |
| 15 | 15 | |
| 16 | +import java.util.ArrayList; | |
| 16 | 17 | import java.util.HashMap; |
| 18 | +import java.util.List; | |
| 17 | 19 | import java.util.Map; |
| 18 | 20 | |
| 19 | 21 | import io.reactivex.disposables.Disposable; |
| ... | ... | @@ -23,12 +25,13 @@ import io.reactivex.disposables.Disposable; |
| 23 | 25 | */ |
| 24 | 26 | public class RaceRecorPresenter extends MvpBasePresenter<RaceRecorView> { |
| 25 | 27 | |
| 26 | - public void getData(Context context,String eventId,String sid,String pageNo,String pageSize){ | |
| 28 | + public void getData(Context context,String eventId,String sid,int pageNo,int pageSize){ | |
| 27 | 29 | HashMap<String, String> map = new HashMap<>(); |
| 28 | 30 | map.put("eventId", eventId); |
| 29 | 31 | map.put("sid", sid); |
| 30 | - map.put("pageNo", pageNo); | |
| 31 | - map.put("pageSize", pageSize); | |
| 32 | + map.put("pageNo", pageNo+""); | |
| 33 | + map.put("pageSize", pageSize+""); | |
| 34 | + getView().showLoading(); | |
| 32 | 35 | Logic.create(map).action(new Logic.Action<Map<String, String>, BaseInfo<RaceRecordInfo>>() { |
| 33 | 36 | @Override |
| 34 | 37 | public Disposable action(Map<String, String> stringStringMap, DataCallback<BaseInfo<RaceRecordInfo>> dataCallback) { |
| ... | ... | @@ -37,12 +40,41 @@ public class RaceRecorPresenter extends MvpBasePresenter<RaceRecorView> { |
| 37 | 40 | }).<BaseInfo<RaceRecordInfo>>event().setFailureCallback(new FailureCallback() { |
| 38 | 41 | @Override |
| 39 | 42 | public void onFailure(int code, String message) { |
| 40 | - getView().showError(); | |
| 43 | + if (getView() != null) { | |
| 44 | + getView().showError(message); | |
| 45 | + getView().hideLoading(); | |
| 46 | + } | |
| 41 | 47 | } |
| 42 | 48 | }).setSuccessCallback(new SuccessCallback<BaseInfo<RaceRecordInfo>>() { |
| 43 | 49 | @Override |
| 44 | 50 | public void onSuccess(BaseInfo<RaceRecordInfo> registerInfo) { |
| 45 | 51 | if (getView() != null){ |
| 52 | + RaceRecordInfo raceRecordInfo = new RaceRecordInfo(); | |
| 53 | + RaceRecordInfo.BestResultBean resultBean = new RaceRecordInfo.BestResultBean(); | |
| 54 | + resultBean.setEmployTime("88"); | |
| 55 | + resultBean.setEventTitle("2018国际网络徒步大赛黄金海岸站"); | |
| 56 | + resultBean.setPace("22.33"); | |
| 57 | + resultBean.setRecordId(32); | |
| 58 | + resultBean.setRoadmap("http://wjjtest.ys2.cnliveimg.com/802/img/2018/1205/ff80808166c2a45201677ce7aff652e9/000001.jpg"); | |
| 59 | + resultBean.setStep(10000+""); | |
| 60 | + resultBean.setMileage(5+""); | |
| 61 | + resultBean.setLatLongitude("[{\"latitude\":88.88,\"longitude\":88.88}]"); | |
| 62 | + raceRecordInfo.setBestResult(resultBean); | |
| 63 | + | |
| 64 | + List< RaceRecordInfo.EventRouteRecordBeanVoListBean > listBeans = new ArrayList<>(); | |
| 65 | + RaceRecordInfo.EventRouteRecordBeanVoListBean eventRouteRecordBeanVoListBean = new RaceRecordInfo.EventRouteRecordBeanVoListBean(); | |
| 66 | + eventRouteRecordBeanVoListBean.setCreateTime(1559722832); | |
| 67 | + eventRouteRecordBeanVoListBean.setEmployTime("00:88"); | |
| 68 | + eventRouteRecordBeanVoListBean.setLatLongitude("[\"39.74788,116.14294\",\"39.74888,116.14394\"]"); | |
| 69 | + eventRouteRecordBeanVoListBean.setMileage(5.4+""); | |
| 70 | + eventRouteRecordBeanVoListBean.setPace("22.33"); | |
| 71 | + eventRouteRecordBeanVoListBean.setRecordId(4); | |
| 72 | + eventRouteRecordBeanVoListBean.setRoadmap("http://wjjtest.ys2.cnliveimg.com/802/img/2018/1205/ff80808166c2a45201677ce7aff652e9/000001.jpg"); | |
| 73 | + eventRouteRecordBeanVoListBean.setStep(10000+""); | |
| 74 | + eventRouteRecordBeanVoListBean.setEventTitle("2018国际网络徒步大赛黄金海岸站"); | |
| 75 | + listBeans.add(eventRouteRecordBeanVoListBean); | |
| 76 | + raceRecordInfo.setEventRouteRecordBeanVoList(listBeans); | |
| 77 | + registerInfo.setData(raceRecordInfo); | |
| 46 | 78 | getView().setData(registerInfo); |
| 47 | 79 | } |
| 48 | 80 | } | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/presenter/RunLinePresenter.java
| ... | ... | @@ -28,6 +28,7 @@ public class RunLinePresenter extends MvpBasePresenter<RunLineView> { |
| 28 | 28 | HashMap<String, String> map = new HashMap<>(); |
| 29 | 29 | map.put("sid", sid); |
| 30 | 30 | map.put("pageNo", pageNo+""); |
| 31 | + map.put("state","0"); | |
| 31 | 32 | map.put("pageSize", pageSize+""); |
| 32 | 33 | getView().showLoading(); |
| 33 | 34 | Logic.create(map).action(new Logic.Action<Map<String, String>, BaseInfo<RunLineInfo>>() { | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/RaceRecorView.java
| ... | ... | @@ -3,52 +3,115 @@ package com.cnlive.moudle.pedometer.frame.view; |
| 3 | 3 | import android.support.v7.widget.LinearLayoutManager; |
| 4 | 4 | import android.view.View; |
| 5 | 5 | |
| 6 | +import com.cnlive.libs.base.util.AlertUtil; | |
| 7 | +import com.cnlive.moudle.collectionTrace.ui.activity.CollRunningFinishActivity; | |
| 8 | +import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; | |
| 9 | +import com.cnlive.moudle.pedometer.model.RunningFinishBean; | |
| 10 | +import com.cnlive.moudle.pedometer.ui.activity.RunRaceDetailActivity; | |
| 6 | 11 | import com.cnlive.moudle.pedometer.ui.activity.ShareRecordActivity; |
| 12 | +import com.cnlive.moudle.pedometer.ui.adapter.MyRecordAdapter; | |
| 7 | 13 | import com.cnlive.moudle.pedometer.ui.adapter.RaceRecordAdapter; |
| 8 | 14 | import com.cnlive.moudle.pedometer.ui.fragment.RaceRecorFragment; |
| 9 | 15 | import com.cnlive.strike.data.network.model.BaseInfo; |
| 10 | 16 | import com.cnlive.strike.data.network.model.runAbout.RaceRecordInfo; |
| 17 | +import com.cnlive.strike.data.network.model.runAbout.RunLineInfo; | |
| 11 | 18 | import com.example.moudle_pedometer.R; |
| 12 | 19 | import com.hannesdorfmann.mosby3.mvp.MvpView; |
| 20 | +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; | |
| 21 | +import com.scwang.smartrefresh.layout.footer.ClassicsFooter; | |
| 22 | +import com.scwang.smartrefresh.layout.header.ClassicsHeader; | |
| 23 | + | |
| 24 | +import java.util.ArrayList; | |
| 25 | +import java.util.List; | |
| 13 | 26 | |
| 14 | 27 | /** |
| 15 | 28 | * Created by hanyayun 019/05/30. |
| 16 | 29 | */ |
| 17 | 30 | public class RaceRecorView implements MvpView { |
| 18 | 31 | private RaceRecorFragment fragment; |
| 32 | + public QMUITipDialog loadingDiaog; | |
| 33 | + private List<RaceRecordInfo.EventRouteRecordBeanVoListBean> list = new ArrayList<>(); | |
| 34 | + private RaceRecordAdapter adapter; | |
| 19 | 35 | |
| 20 | 36 | |
| 21 | 37 | public RaceRecorView(RaceRecorFragment fragment) { |
| 22 | 38 | this.fragment = fragment; |
| 39 | + loadingDiaog = new QMUITipDialog.Builder(fragment.getActivity()) | |
| 40 | + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) | |
| 41 | + .setTipWord("请稍后") | |
| 42 | + .create(); | |
| 23 | 43 | } |
| 24 | 44 | |
| 25 | 45 | public void setData(BaseInfo<RaceRecordInfo> raceRecordInfoBaseInfo){ |
| 46 | + hideLoading(); | |
| 47 | + fragment.binding.ryRecord.setVisibility(View.VISIBLE); | |
| 48 | + fragment.binding.txAll.setVisibility(View.VISIBLE); | |
| 26 | 49 | if(raceRecordInfoBaseInfo.getData().getBestResult() == null){ |
| 27 | 50 | showEmpty(); |
| 28 | 51 | return; |
| 29 | 52 | } |
| 30 | - fragment.binding.kilometerNum.setText(raceRecordInfoBaseInfo.getData().getBestResult().getMileage()); | |
| 31 | - fragment.binding.stepNum.setText(raceRecordInfoBaseInfo.getData().getBestResult().getStep()); | |
| 32 | - fragment.binding.kilometerTime.setText(raceRecordInfoBaseInfo.getData().getBestResult().getEmployTime()); | |
| 33 | - fragment.binding.kilometerSpeed.setText(raceRecordInfoBaseInfo.getData().getBestResult().getPace()); | |
| 34 | - fragment.binding.recordRecy.setLayoutManager(new LinearLayoutManager(fragment.getActivity())); | |
| 35 | - fragment.binding.recordRecy.setAdapter(new RaceRecordAdapter(raceRecordInfoBaseInfo.getData().getEventRouteRecordBeanVoList(),fragment.getActivity())); | |
| 53 | + | |
| 54 | + if(fragment.currentPage == 1){ | |
| 55 | + list.clear(); | |
| 56 | + list.addAll(raceRecordInfoBaseInfo.getData().getEventRouteRecordBeanVoList()); | |
| 57 | + if(adapter == null){ | |
| 58 | + fragment.binding.kilometerNum.setText(raceRecordInfoBaseInfo.getData().getBestResult().getMileage()); | |
| 59 | + fragment.binding.stepNum.setText(raceRecordInfoBaseInfo.getData().getBestResult().getStep()); | |
| 60 | + fragment.binding.kilometerTime.setText(raceRecordInfoBaseInfo.getData().getBestResult().getEmployTime()); | |
| 61 | + fragment.binding.kilometerSpeed.setText(raceRecordInfoBaseInfo.getData().getBestResult().getPace()); | |
| 62 | + fragment.binding.recordRecy.setLayoutManager(new LinearLayoutManager(fragment.getActivity())); | |
| 63 | + adapter = new RaceRecordAdapter(list,fragment.getActivity()); | |
| 64 | + fragment.binding.recordRecy.setAdapter(adapter); | |
| 65 | + adapter.setOnClickListener(new RaceRecordAdapter.OnClickListener() { | |
| 66 | + @Override | |
| 67 | + public void onClickListener(RaceRecordInfo.EventRouteRecordBeanVoListBean bean, int position) { | |
| 68 | + CollRunningFinishActivity.startActivity(fragment.getActivity(),new RunningFinishBean()); | |
| 69 | + } | |
| 70 | + }); | |
| 71 | + fragment.binding.topbar.addRightImageButton(R.drawable.share_img, R.id.fragment_more) | |
| 72 | + .setOnClickListener(v -> { | |
| 73 | + //分享 | |
| 74 | + ShareRecordActivity.newInstance(fragment.getActivity(),fragment.raceTitle); | |
| 75 | + }); | |
| 76 | + | |
| 77 | + }else { | |
| 78 | + adapter.notifyDataSetChanged(); | |
| 79 | + } | |
| 80 | + } | |
| 81 | + | |
| 82 | + if(list.size() != 0){ | |
| 83 | + fragment.binding.empty.setVisibility(View.GONE); | |
| 84 | + fragment.binding.emptyNet.setVisibility(View.GONE); | |
| 85 | + fragment.binding.refreshLayout.setVisibility(View.VISIBLE); | |
| 86 | + }else { | |
| 87 | + showEmpty(); | |
| 88 | + } | |
| 89 | + | |
| 90 | + if(raceRecordInfoBaseInfo.getData().getEventRouteRecordBeanVoList().size() < fragment.pageSize){ | |
| 91 | + fragment.binding.refreshLayout.setEnableLoadMore(false); | |
| 92 | + }else { | |
| 93 | + fragment.binding.refreshLayout.setEnableLoadMore(true); | |
| 94 | + } | |
| 95 | + if(fragment.currentPage > 1){ | |
| 96 | + list.addAll(raceRecordInfoBaseInfo.getData().getEventRouteRecordBeanVoList()); | |
| 97 | + adapter.notifyDataSetChanged(); | |
| 98 | + } | |
| 99 | + fragment.binding.refreshLayout.finishRefresh(); | |
| 100 | + fragment.binding.refreshLayout.finishLoadMore(); | |
| 36 | 101 | } |
| 37 | 102 | |
| 38 | 103 | public void initView(){ |
| 39 | 104 | fragment.binding.topbar.addLeftImageButton(R.drawable.top_back_black, R.id.fragment_back).setOnClickListener(v -> { |
| 40 | 105 | fragment.getActivity().finish(); |
| 41 | 106 | }); |
| 42 | - fragment.binding.topbar.setTitle("奥森跑道全部成绩"); | |
| 43 | - fragment.binding.topbar.addRightImageButton(R.drawable.share_img, R.id.fragment_more) | |
| 44 | - .setOnClickListener(v -> { | |
| 45 | - //分享 | |
| 46 | - ShareRecordActivity.newInstance(fragment.getActivity()); | |
| 47 | - }); | |
| 107 | + fragment.binding.topbar.setTitle("全部成绩"); | |
| 108 | + fragment.binding.refreshLayout.setRefreshHeader(new ClassicsHeader(fragment.getActivity())); | |
| 109 | + fragment.binding.refreshLayout.setRefreshFooter(new ClassicsFooter(fragment.getActivity())); | |
| 48 | 110 | } |
| 49 | 111 | |
| 50 | 112 | public void showEmpty(){ |
| 51 | - fragment.binding.recordRecy.setVisibility(View.GONE); | |
| 113 | + fragment.binding.refreshLayout.setVisibility(View.GONE); | |
| 114 | + fragment.binding.emptyNet.setVisibility(View.GONE); | |
| 52 | 115 | fragment.binding.empty.setVisibility(View.VISIBLE); |
| 53 | 116 | fragment.binding.kilometerNum.setText("0.00"); |
| 54 | 117 | fragment.binding.stepNum.setText("--"); |
| ... | ... | @@ -56,7 +119,41 @@ public class RaceRecorView implements MvpView { |
| 56 | 119 | fragment.binding.kilometerSpeed.setText("--"); |
| 57 | 120 | } |
| 58 | 121 | |
| 59 | - public void showError(){ | |
| 122 | + public void showError(String msg){ | |
| 123 | + fragment.binding.refreshLayout.finishRefresh(); | |
| 124 | + fragment.binding.refreshLayout.finishLoadMore(); | |
| 125 | + if (list.size() == 0) { | |
| 126 | + fragment.binding.empty.setVisibility(View.GONE); | |
| 127 | + fragment.binding.refreshLayout.setVisibility(View.GONE); | |
| 128 | + fragment.binding.ryRecord.setVisibility(View.GONE); | |
| 129 | + fragment.binding.txAll.setVisibility(View.GONE); | |
| 130 | + fragment.binding.emptyNet.setVisibility(View.VISIBLE); | |
| 131 | + fragment.binding.emptyNet.setDetailText(fragment.getResources().getString(R.string.msg_failed_network_detail)); | |
| 132 | + fragment.binding.emptyNet.setTitleText(msg); | |
| 133 | + fragment.binding.emptyNet.setButton("重试", new View.OnClickListener() { | |
| 134 | + @Override | |
| 135 | + public void onClick(View v) { | |
| 136 | + fragment.currentPage = 1; | |
| 137 | + fragment.getPresenter().getData(fragment.getActivity(), CommonInfo.getStreetId(fragment.getActivity()),"10514343",fragment.currentPage,fragment.pageSize); | |
| 138 | + } | |
| 139 | + }); | |
| 140 | + fragment.binding.emptyNet.setLoadingShowing(false); | |
| 141 | + fragment.binding.emptyNet.setImage(R.drawable.wufalianjie); | |
| 142 | + } else { | |
| 143 | + fragment.binding.empty.setVisibility(View.GONE); | |
| 144 | + fragment.binding.emptyNet.setVisibility(View.GONE); | |
| 145 | + fragment.binding.refreshLayout.setVisibility(View.VISIBLE); | |
| 146 | + fragment.binding.ryRecord.setVisibility(View.VISIBLE); | |
| 147 | + fragment.binding.txAll.setVisibility(View.VISIBLE); | |
| 148 | + AlertUtil.showDeftToast(fragment.getActivity(), msg); | |
| 149 | + } | |
| 150 | + } | |
| 151 | + | |
| 152 | + public void showLoading() { | |
| 153 | + if (loadingDiaog != null) loadingDiaog.show(); | |
| 154 | + } | |
| 60 | 155 | |
| 156 | + public void hideLoading() { | |
| 157 | + if (loadingDiaog != null) loadingDiaog.dismiss(); | |
| 61 | 158 | } |
| 62 | 159 | } | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/RunRaceDetailFragmentView.java
| ... | ... | @@ -386,7 +386,7 @@ public class RunRaceDetailFragmentView implements MvpView, SensorEventListener { |
| 386 | 386 | }); |
| 387 | 387 | //查看全部成绩点击事件 |
| 388 | 388 | fragment.binding.includePersonScore.checkAllCord.setOnClickListener(v -> { |
| 389 | - RaceRecordActivity.newInstance(fragment.getActivity()); | |
| 389 | + RaceRecordActivity.newInstance(fragment.getActivity(),runRaceDetailInfo.getTitle()); | |
| 390 | 390 | }); |
| 391 | 391 | |
| 392 | 392 | fragment.binding.includeStreet.fiveJoinPerson.setOnClickListener(v -> { | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/SelfRecordView.java
| ... | ... | @@ -43,7 +43,7 @@ public class SelfRecordView implements MvpView{ |
| 43 | 43 | fragment.binding.topbar.addRightImageButton(R.drawable.share_img, R.id.fragment_more) |
| 44 | 44 | .setOnClickListener(v -> { |
| 45 | 45 | //分享 |
| 46 | - ShareRecordActivity.newInstance(fragment.getActivity()); | |
| 46 | + ShareRecordActivity.newInstance(fragment.getActivity(),""); | |
| 47 | 47 | }); |
| 48 | 48 | } |
| 49 | 49 | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/TakePartView.java
| ... | ... | @@ -4,6 +4,7 @@ import android.support.v7.widget.LinearLayoutManager; |
| 4 | 4 | import android.view.View; |
| 5 | 5 | |
| 6 | 6 | import com.cnlive.libs.base.util.AlertUtil; |
| 7 | +import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; | |
| 7 | 8 | import com.cnlive.moudle.pedometer.ui.adapter.TakePartAdapter; |
| 8 | 9 | import com.cnlive.moudle.pedometer.ui.fragment.TakePartFragment; |
| 9 | 10 | import com.cnlive.strike.data.network.model.BaseInfo; |
| ... | ... | @@ -90,7 +91,7 @@ public class TakePartView implements MvpView { |
| 90 | 91 | @Override |
| 91 | 92 | public void onClick(View v) { |
| 92 | 93 | fragment.currentPage = 1; |
| 93 | - fragment.getPresenter().setData(fragment.getActivity(),"116",fragment.currentPage,fragment.itemNum); | |
| 94 | + fragment.getPresenter().setData(fragment.getActivity(), CommonInfo.getStreetId(fragment.getActivity()),fragment.currentPage,fragment.itemNum); | |
| 94 | 95 | } |
| 95 | 96 | }); |
| 96 | 97 | fragment.binding.empty.setLoadingShowing(false); | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/model/RunningFinishBean.java
| 1 | 1 | package com.cnlive.moudle.pedometer.model; |
| 2 | 2 | |
| 3 | 3 | import java.io.Serializable; |
| 4 | +import java.util.List; | |
| 4 | 5 | |
| 5 | 6 | /** |
| 6 | 7 | * 跑步结束相关数据 |
| ... | ... | @@ -15,6 +16,9 @@ public class RunningFinishBean implements Serializable { |
| 15 | 16 | private String startPoint; |
| 16 | 17 | private String endPoint; |
| 17 | 18 | private String date; |
| 19 | + private List<String> latList; | |
| 20 | + | |
| 21 | + | |
| 18 | 22 | |
| 19 | 23 | public String getRunDistance() { |
| 20 | 24 | return runDistance; | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/activity/RaceRecordActivity.java
| ... | ... | @@ -15,8 +15,10 @@ import com.example.moudle_pedometer.R; |
| 15 | 15 | * Created by hanyayun 019/05/30. |
| 16 | 16 | */ |
| 17 | 17 | public class RaceRecordActivity extends AppCompatActivity { |
| 18 | - public static void newInstance(Activity context){ | |
| 18 | + | |
| 19 | + public static void newInstance(Activity context,String raceTitle){ | |
| 19 | 20 | Intent intent = new Intent(context,RaceRecordActivity.class); |
| 21 | + intent.putExtra("raceTitle",raceTitle); | |
| 20 | 22 | context.startActivity(intent); |
| 21 | 23 | } |
| 22 | 24 | |
| ... | ... | @@ -27,6 +29,6 @@ public class RaceRecordActivity extends AppCompatActivity { |
| 27 | 29 | StatusBarUtil2.setColor(this, getResources().getColor(R.color.color_fff), 0); |
| 28 | 30 | setContentView(R.layout.activity_race_record); |
| 29 | 31 | |
| 30 | - getSupportFragmentManager().beginTransaction().replace(R.id.record_container, new RaceRecorFragment()).commit(); | |
| 32 | + getSupportFragmentManager().beginTransaction().replace(R.id.record_container, RaceRecorFragment.newInstance(getIntent().getStringExtra("raceTitle"))).commit(); | |
| 31 | 33 | } |
| 32 | 34 | } | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/activity/ShareRecordActivity.java
| ... | ... | @@ -22,10 +22,11 @@ import com.qmuiteam.qmui.util.QMUIDrawableHelper; |
| 22 | 22 | public class ShareRecordActivity extends AppCompatActivity { |
| 23 | 23 | |
| 24 | 24 | private ImageView share_back; |
| 25 | - private TextView share; | |
| 25 | + private TextView share,cord_name; | |
| 26 | 26 | private RelativeLayout ry_cen; |
| 27 | - public static void newInstance(Activity context){ | |
| 27 | + public static void newInstance(Activity context,String title){ | |
| 28 | 28 | Intent intent = new Intent(context,ShareRecordActivity.class); |
| 29 | + intent.putExtra("raceTitle",title); | |
| 29 | 30 | context.startActivity(intent); |
| 30 | 31 | } |
| 31 | 32 | |
| ... | ... | @@ -36,6 +37,8 @@ public class ShareRecordActivity extends AppCompatActivity { |
| 36 | 37 | StatusBarUtil2.setColor(this, getResources().getColor(R.color.bg), 0); |
| 37 | 38 | setContentView(R.layout.activity_share_record); |
| 38 | 39 | |
| 40 | + cord_name = findViewById(R.id.cord_name); | |
| 41 | + cord_name.setText("用户在"+getIntent().getStringExtra("raceTitle")+"中的最佳成绩"); | |
| 39 | 42 | share_back = findViewById(R.id.share_back); |
| 40 | 43 | share = findViewById(R.id.share); |
| 41 | 44 | ry_cen = findViewById(R.id.ry_cen); | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/adapter/RaceRecordAdapter.java
| ... | ... | @@ -8,11 +8,13 @@ import android.view.LayoutInflater; |
| 8 | 8 | import android.view.View; |
| 9 | 9 | import android.view.ViewGroup; |
| 10 | 10 | import android.widget.ImageView; |
| 11 | +import android.widget.RelativeLayout; | |
| 11 | 12 | import android.widget.TextView; |
| 12 | 13 | |
| 13 | 14 | |
| 14 | 15 | import com.cnlive.moudle.pedometer.utils.TimeUtil; |
| 15 | 16 | import com.cnlive.strike.data.network.model.runAbout.RaceRecordInfo; |
| 17 | +import com.cnlive.strike.data.network.model.runAbout.RunLineInfo; | |
| 16 | 18 | import com.example.moudle_pedometer.R; |
| 17 | 19 | |
| 18 | 20 | import java.util.List; |
| ... | ... | @@ -21,6 +23,11 @@ public class RaceRecordAdapter extends RecyclerView.Adapter<RaceRecordAdapter.My |
| 21 | 23 | |
| 22 | 24 | private List<RaceRecordInfo.EventRouteRecordBeanVoListBean> list; |
| 23 | 25 | private Context context; |
| 26 | + private OnClickListener onClickListener; | |
| 27 | + | |
| 28 | + public void setOnClickListener(OnClickListener onClickListener) { | |
| 29 | + this.onClickListener = onClickListener; | |
| 30 | + } | |
| 24 | 31 | |
| 25 | 32 | public RaceRecordAdapter(List<RaceRecordInfo.EventRouteRecordBeanVoListBean> list, Context context) { |
| 26 | 33 | this.list = list; |
| ... | ... | @@ -36,14 +43,14 @@ public class RaceRecordAdapter extends RecyclerView.Adapter<RaceRecordAdapter.My |
| 36 | 43 | |
| 37 | 44 | @Override |
| 38 | 45 | public void onBindViewHolder(@NonNull MyHolder myHolder, int i) { |
| 39 | - myHolder.record_time_day.setText(TimeUtil.getStampToTime(list.get(i).getCreateTime(),"MM-dd")); | |
| 46 | + myHolder.record_time_day.setText(TimeUtil.getStampToTime(list.get(i).getCreateTime(),"MM月dd日")); | |
| 40 | 47 | myHolder.record_time.setText(TimeUtil.getStampToTime(list.get(i).getCreateTime(),"HH:mm")); |
| 41 | 48 | myHolder.item_title.setText(list.get(i).getEventTitle()); |
| 42 | 49 | myHolder.record_kli.setText(list.get(i).getMileage()); |
| 43 | 50 | myHolder.record_minit.setText(list.get(i).getEmployTime()); |
| 44 | 51 | myHolder.record_speed.setText(list.get(i).getPace()); |
| 45 | 52 | myHolder.record_step.setText(list.get(i).getStep()); |
| 46 | - | |
| 53 | + if(onClickListener != null) myHolder.ry_re.setOnClickListener(v -> onClickListener.onClickListener(list.get(i),i)); | |
| 47 | 54 | } |
| 48 | 55 | |
| 49 | 56 | @Override |
| ... | ... | @@ -61,6 +68,7 @@ public class RaceRecordAdapter extends RecyclerView.Adapter<RaceRecordAdapter.My |
| 61 | 68 | TextView record_minit; |
| 62 | 69 | TextView record_speed; |
| 63 | 70 | TextView record_step; |
| 71 | + RelativeLayout ry_re; | |
| 64 | 72 | |
| 65 | 73 | public MyHolder(@NonNull View itemView) { |
| 66 | 74 | super(itemView); |
| ... | ... | @@ -72,6 +80,12 @@ public class RaceRecordAdapter extends RecyclerView.Adapter<RaceRecordAdapter.My |
| 72 | 80 | record_minit = itemView.findViewById(R.id.record_minit); |
| 73 | 81 | record_speed = itemView.findViewById(R.id.record_speed); |
| 74 | 82 | record_step = itemView.findViewById(R.id.record_step); |
| 83 | + ry_re = itemView.findViewById(R.id.ry_re); | |
| 75 | 84 | } |
| 76 | 85 | } |
| 86 | + | |
| 87 | + | |
| 88 | + public interface OnClickListener{ | |
| 89 | + void onClickListener(RaceRecordInfo.EventRouteRecordBeanVoListBean bean, int position); | |
| 90 | + } | |
| 77 | 91 | } | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/fragment/RaceRecorFragment.java
| ... | ... | @@ -6,6 +6,7 @@ import android.support.annotation.Nullable; |
| 6 | 6 | import android.view.View; |
| 7 | 7 | |
| 8 | 8 | import com.cnlive.libs.base.frame.fragment.MvpBindingFragment; |
| 9 | +import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; | |
| 9 | 10 | import com.cnlive.moudle.pedometer.frame.presenter.RaceRecorPresenter; |
| 10 | 11 | import com.cnlive.moudle.pedometer.frame.view.RaceRecorView; |
| 11 | 12 | import com.example.moudle_pedometer.R; |
| ... | ... | @@ -16,17 +17,35 @@ import com.example.moudle_pedometer.databinding.FragmentRaceRecorBinding; |
| 16 | 17 | */ |
| 17 | 18 | public class RaceRecorFragment extends MvpBindingFragment<RaceRecorView, RaceRecorPresenter,Object, FragmentRaceRecorBinding> { |
| 18 | 19 | |
| 19 | - | |
| 20 | - public RaceRecorFragment() { | |
| 20 | + public String raceTitle; | |
| 21 | + public int currentPage = 1; | |
| 22 | + public int pageSize = 10; | |
| 23 | + public static RaceRecorFragment newInstance(String raceTitle) { | |
| 21 | 24 | // Required empty public constructor |
| 25 | + RaceRecorFragment fragment = new RaceRecorFragment(); | |
| 26 | + Bundle bundle = new Bundle(); | |
| 27 | + bundle.putString("raceTitle",raceTitle); | |
| 28 | + fragment.setArguments(bundle); | |
| 29 | + return fragment; | |
| 22 | 30 | } |
| 23 | 31 | |
| 24 | 32 | |
| 25 | 33 | @Override |
| 26 | 34 | public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { |
| 27 | 35 | super.onViewCreated(view, savedInstanceState); |
| 36 | + raceTitle = getArguments().getString("raceTitle"); | |
| 28 | 37 | if(getMvpView() != null) getMvpView().initView(); |
| 29 | - getPresenter().getData(getActivity(),"116","10514343","1","10"); | |
| 38 | + | |
| 39 | + getPresenter().getData(getActivity(), CommonInfo.getStreetId(getActivity()),"10514343",currentPage,pageSize); | |
| 40 | + | |
| 41 | + binding.refreshLayout.setOnRefreshListener(v ->{ | |
| 42 | + currentPage = 1; | |
| 43 | + getPresenter().getData(getActivity(), CommonInfo.getStreetId(getActivity()),"10514343",currentPage,pageSize); | |
| 44 | + }); | |
| 45 | + binding.refreshLayout.setOnLoadMoreListener(v ->{ | |
| 46 | + currentPage++; | |
| 47 | + getPresenter().getData(getActivity(), CommonInfo.getStreetId(getActivity()),"10514343",currentPage,pageSize); | |
| 48 | + }); | |
| 30 | 49 | } |
| 31 | 50 | |
| 32 | 51 | @Override | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/fragment/RegistrationInfoFragment.java
| ... | ... | @@ -41,6 +41,6 @@ public class RegistrationInfoFragment extends MvpBindingFragment<RegistrationInf |
| 41 | 41 | } |
| 42 | 42 | |
| 43 | 43 | public void commitInfo(){ |
| 44 | - getPresenter().commitInfo(getActivity(),"116", "10514343","15210479774","",""); | |
| 44 | + getPresenter().commitInfo(getActivity(),CommonInfo.getStreetId(getActivity()), "10514343","15210479774","",""); | |
| 45 | 45 | } |
| 46 | 46 | } | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/fragment/TakePartFragment.java
| ... | ... | @@ -6,6 +6,7 @@ import android.support.annotation.Nullable; |
| 6 | 6 | import android.view.View; |
| 7 | 7 | |
| 8 | 8 | import com.cnlive.libs.base.frame.fragment.MvpBindingFragment; |
| 9 | +import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; | |
| 9 | 10 | import com.cnlive.moudle.pedometer.frame.presenter.TakePartPresenter; |
| 10 | 11 | import com.cnlive.moudle.pedometer.frame.view.TakePartView; |
| 11 | 12 | import com.example.moudle_pedometer.R; |
| ... | ... | @@ -18,6 +19,7 @@ public class TakePartFragment extends MvpBindingFragment<TakePartView, TakePartP |
| 18 | 19 | |
| 19 | 20 | public int currentPage = 1; |
| 20 | 21 | public int itemNum = 10; |
| 22 | + private String eventID = ""; | |
| 21 | 23 | |
| 22 | 24 | public TakePartFragment() { |
| 23 | 25 | // Required empty public constructor |
| ... | ... | @@ -31,15 +33,16 @@ public class TakePartFragment extends MvpBindingFragment<TakePartView, TakePartP |
| 31 | 33 | @Override |
| 32 | 34 | public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { |
| 33 | 35 | super.onViewCreated(view, savedInstanceState); |
| 34 | - getPresenter().setData(getActivity(),"116",currentPage,itemNum); | |
| 36 | + eventID = CommonInfo.getStreetId(getActivity()); | |
| 37 | + getPresenter().setData(getActivity(),eventID,currentPage,itemNum); | |
| 35 | 38 | if(getMvpView() != null)getMvpView().initView(); |
| 36 | 39 | binding.refreshLayout.setOnRefreshListener(v ->{ |
| 37 | 40 | currentPage = 1; |
| 38 | - getPresenter().setData(getActivity(),"116",currentPage,itemNum); | |
| 41 | + getPresenter().setData(getActivity(),eventID,currentPage,itemNum); | |
| 39 | 42 | }); |
| 40 | 43 | binding.refreshLayout.setOnLoadMoreListener(v ->{ |
| 41 | 44 | currentPage++; |
| 42 | - getPresenter().setData(getActivity(),"116",currentPage,itemNum); | |
| 45 | + getPresenter().setData(getActivity(),eventID,currentPage,itemNum); | |
| 43 | 46 | }); |
| 44 | 47 | } |
| 45 | 48 | } | ... | ... |
moudle_pedometer/src/main/res/layout/activity_share_record.xml
| ... | ... | @@ -9,8 +9,8 @@ |
| 9 | 9 | <RelativeLayout |
| 10 | 10 | android:id="@+id/topbar" |
| 11 | 11 | android:layout_width="match_parent" |
| 12 | - android:background="@color/bg" | |
| 13 | - android:layout_height="48dp"> | |
| 12 | + android:layout_height="48dp" | |
| 13 | + android:background="@color/bg"> | |
| 14 | 14 | |
| 15 | 15 | <ImageView |
| 16 | 16 | android:id="@+id/share_back" |
| ... | ... | @@ -40,12 +40,14 @@ |
| 40 | 40 | android:text="@string/containuue" |
| 41 | 41 | android:textColor="@color/white" /> |
| 42 | 42 | </RelativeLayout> |
| 43 | + | |
| 43 | 44 | <RelativeLayout |
| 44 | 45 | android:id="@+id/ry_cen" |
| 45 | 46 | android:layout_width="match_parent" |
| 46 | 47 | android:layout_height="match_parent" |
| 47 | - android:background="@drawable/share_background" | |
| 48 | - android:layout_below="@id/topbar"> | |
| 48 | + android:layout_below="@id/topbar" | |
| 49 | + android:background="@drawable/share_background"> | |
| 50 | + | |
| 49 | 51 | <RelativeLayout |
| 50 | 52 | android:layout_width="match_parent" |
| 51 | 53 | android:layout_height="wrap_content" |
| ... | ... | @@ -197,58 +199,67 @@ |
| 197 | 199 | android:layout_marginLeft="10dp" |
| 198 | 200 | android:layout_marginTop="15dp" |
| 199 | 201 | android:layout_marginRight="10dp" |
| 200 | - android:background="#CCCCCC"/> | |
| 202 | + android:background="#CCCCCC" /> | |
| 201 | 203 | |
| 202 | - <RelativeLayout | |
| 204 | + <LinearLayout | |
| 203 | 205 | android:layout_width="match_parent" |
| 204 | 206 | android:layout_height="wrap_content" |
| 205 | 207 | android:layout_below="@id/kilometer_ry" |
| 206 | 208 | android:layout_marginTop="30dp" |
| 209 | + android:orientation="horizontal" | |
| 210 | + android:weightSum="3" | |
| 207 | 211 | android:padding="10dp"> |
| 208 | 212 | |
| 209 | - <TextView | |
| 210 | - android:id="@+id/cord_name" | |
| 213 | + <RelativeLayout | |
| 211 | 214 | android:layout_width="wrap_content" |
| 212 | 215 | android:layout_height="wrap_content" |
| 213 | - android:gravity="left" | |
| 214 | - android:text="用户在奥森南苑路线中的最佳成绩" | |
| 215 | - android:textColor="#333333" | |
| 216 | - android:textSize="12sp" /> | |
| 216 | + android:layout_weight="3"> | |
| 217 | 217 | |
| 218 | - <LinearLayout | |
| 219 | - android:layout_width="wrap_content" | |
| 220 | - android:layout_height="wrap_content" | |
| 221 | - android:layout_below="@id/cord_name" | |
| 222 | - android:layout_marginTop="30dp" | |
| 223 | - android:background="@drawable/cc_bg_circle" | |
| 224 | - android:orientation="vertical" | |
| 225 | - android:padding="10dp" | |
| 226 | - > | |
| 227 | 218 | <TextView |
| 228 | - android:id="@+id/tv_tv" | |
| 229 | - android:layout_width="wrap_content" | |
| 219 | + android:id="@+id/cord_name" | |
| 220 | + android:layout_width="match_parent" | |
| 230 | 221 | android:layout_height="wrap_content" |
| 231 | - android:text="#心情标签#" | |
| 222 | + android:gravity="left" | |
| 223 | + android:text="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
| 232 | 224 | android:textColor="#333333" |
| 233 | - android:textSize="10sp" /> | |
| 225 | + android:textSize="12sp" /> | |
| 234 | 226 | |
| 235 | - <TextView | |
| 236 | - android:layout_width="wrap_content" | |
| 227 | + <LinearLayout | |
| 228 | + android:layout_width="match_parent" | |
| 237 | 229 | android:layout_height="wrap_content" |
| 238 | - android:layout_below="@id/tv_tv" | |
| 239 | - android:layout_marginTop="7dp" | |
| 240 | - android:text="点击这里写下你的心情标签" | |
| 241 | - android:textColor="#999999" | |
| 242 | - android:textSize="10sp"/> | |
| 243 | - </LinearLayout> | |
| 230 | + android:layout_below="@id/cord_name" | |
| 231 | + android:layout_marginTop="20dp" | |
| 232 | + android:background="@drawable/cc_bg_circle" | |
| 233 | + android:orientation="vertical" | |
| 234 | + android:padding="10dp"> | |
| 235 | + | |
| 236 | + <TextView | |
| 237 | + android:id="@+id/tv_tv" | |
| 238 | + android:layout_width="match_parent" | |
| 239 | + android:layout_height="wrap_content" | |
| 240 | + android:text="#心情标签#" | |
| 241 | + android:textColor="#333333" | |
| 242 | + android:textSize="10sp" /> | |
| 243 | + | |
| 244 | + <TextView | |
| 245 | + android:layout_width="match_parent" | |
| 246 | + android:layout_height="wrap_content" | |
| 247 | + android:layout_below="@id/tv_tv" | |
| 248 | + android:layout_marginTop="7dp" | |
| 249 | + android:text="点击这里写下你的心情标签" | |
| 250 | + android:textColor="#999999" | |
| 251 | + android:textSize="10sp" /> | |
| 252 | + </LinearLayout> | |
| 253 | + </RelativeLayout> | |
| 244 | 254 | |
| 245 | 255 | |
| 246 | 256 | <ImageView |
| 247 | - android:layout_width="95dp" | |
| 248 | - android:layout_height="95dp" | |
| 257 | + android:layout_width="wrap_content" | |
| 258 | + android:layout_height="wrap_content" | |
| 259 | + android:layout_weight="1" | |
| 249 | 260 | android:layout_alignParentRight="true" |
| 250 | 261 | android:src="@drawable/erwe" /> |
| 251 | - </RelativeLayout> | |
| 262 | + </LinearLayout> | |
| 252 | 263 | </RelativeLayout> |
| 253 | 264 | </RelativeLayout> |
| 254 | 265 | ... | ... |
moudle_pedometer/src/main/res/layout/fragment_race_recor.xml
| ... | ... | @@ -12,6 +12,7 @@ |
| 12 | 12 | android:layout_height="?attr/qmui_topbar_height" /> |
| 13 | 13 | |
| 14 | 14 | <RelativeLayout |
| 15 | + android:id="@+id/ry_record" | |
| 15 | 16 | android:layout_width="match_parent" |
| 16 | 17 | android:layout_height="wrap_content" |
| 17 | 18 | android:layout_marginTop="10dp" |
| ... | ... | @@ -129,7 +130,9 @@ |
| 129 | 130 | |
| 130 | 131 | </RelativeLayout> |
| 131 | 132 | |
| 133 | + | |
| 132 | 134 | <TextView |
| 135 | + android:id="@+id/tx_all" | |
| 133 | 136 | android:layout_width="wrap_content" |
| 134 | 137 | android:layout_height="wrap_content" |
| 135 | 138 | android:layout_marginLeft="10dp" |
| ... | ... | @@ -138,12 +141,19 @@ |
| 138 | 141 | android:textColor="#333333" |
| 139 | 142 | android:text="@string/all_line_record" /> |
| 140 | 143 | |
| 141 | - <android.support.v7.widget.RecyclerView | |
| 142 | - android:id="@+id/record_recy" | |
| 144 | + <com.scwang.smartrefresh.layout.SmartRefreshLayout | |
| 145 | + android:id="@+id/refreshLayout" | |
| 143 | 146 | android:layout_width="match_parent" |
| 144 | - android:layout_height="match_parent" | |
| 145 | - android:padding="10dp" | |
| 146 | - android:background="@color/white" /> | |
| 147 | + android:layout_height="match_parent"> | |
| 148 | + | |
| 149 | + <android.support.v7.widget.RecyclerView | |
| 150 | + android:id="@+id/record_recy" | |
| 151 | + android:layout_width="match_parent" | |
| 152 | + android:layout_height="match_parent" | |
| 153 | + android:padding="10dp" | |
| 154 | + android:background="@color/white" /> | |
| 155 | + </com.scwang.smartrefresh.layout.SmartRefreshLayout> | |
| 156 | + | |
| 147 | 157 | |
| 148 | 158 | <RelativeLayout |
| 149 | 159 | android:id="@+id/empty" |
| ... | ... | @@ -176,6 +186,12 @@ |
| 176 | 186 | |
| 177 | 187 | </RelativeLayout> |
| 178 | 188 | |
| 189 | + <com.cnlive.strike.ui.widget.UIEmptyView | |
| 190 | + android:id="@+id/empty_net" | |
| 191 | + android:layout_width="match_parent" | |
| 192 | + android:layout_height="match_parent" | |
| 193 | + android:visibility="gone" /> | |
| 194 | + | |
| 179 | 195 | </LinearLayout> |
| 180 | 196 | </layout> |
| 181 | 197 | ... | ... |
moudle_pedometer/src/main/res/layout/item_my_record.xml
| ... | ... | @@ -41,7 +41,6 @@ |
| 41 | 41 | android:layout_width="wrap_content" |
| 42 | 42 | android:layout_height="wrap_content" |
| 43 | 43 | android:layout_marginLeft="10dp" |
| 44 | - android:text="2019.05.01--2019.09.01" | |
| 45 | 44 | android:textColor="#999999" |
| 46 | 45 | android:textSize="12sp" /> |
| 47 | 46 | </LinearLayout> |
| ... | ... | @@ -65,7 +64,6 @@ |
| 65 | 64 | android:layout_width="wrap_content" |
| 66 | 65 | android:layout_height="wrap_content" |
| 67 | 66 | android:layout_marginLeft="10dp" |
| 68 | - android:text="北京 首都师范大学 全长4.42公里" | |
| 69 | 67 | android:textColor="#999999" |
| 70 | 68 | android:textSize="12sp" /> |
| 71 | 69 | </LinearLayout> |
| ... | ... | @@ -78,7 +76,7 @@ |
| 78 | 76 | |
| 79 | 77 | <com.cnlive.moudle.pedometer.ui.widget.FivePersonIconView |
| 80 | 78 | android:id="@+id/join_person" |
| 81 | - android:layout_width="150dp" | |
| 79 | + android:layout_width="wrap_content" | |
| 82 | 80 | android:layout_height="40dp" |
| 83 | 81 | android:layout_marginRight="10dp" |
| 84 | 82 | FivePersonIconView:showRightFlag="false" /> | ... | ... |