Skip to content

Commit

Permalink
历史上的今天完善
Browse files Browse the repository at this point in the history
  • Loading branch information
wosojadfjgo committed Sep 7, 2019
1 parent cae2258 commit b5a9b53
Show file tree
Hide file tree
Showing 5 changed files with 130 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import android.graphics.Bitmap;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

Expand All @@ -20,6 +21,7 @@
import com.heyongrui.base.utils.UiUtil;
import com.heyongrui.module2.R;
import com.heyongrui.module2.data.dto.GankDto;
import com.heyongrui.module2.data.dto.HistoryTodayDto;
import com.heyongrui.module2.data.dto.LeisureReadDto;

import java.util.List;
Expand All @@ -40,6 +42,7 @@ public Module2SectionAdapter(int sectionHeadResId, List<Module2SectionEntity> da
addItemType(Module2SectionEntity.WELFARE, R.layout.recycle_item_welfare);
addItemType(Module2SectionEntity.GANK, R.layout.recycle_item_android);
addItemType(Module2SectionEntity.LEISURE_READ, R.layout.recycle_item_leisure_read);
addItemType(Module2SectionEntity.TODAY_HISTORY, R.layout.recycle_item_today_history);
}

@Override
Expand Down Expand Up @@ -118,6 +121,48 @@ public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? sup
tvTitle.setText(TextUtils.isEmpty(title) ? "" : title);
}
break;
case Module2SectionEntity.TODAY_HISTORY: {
View dashTop = helper.getView(R.id.dash_top);
TextView tvDate = helper.getView(R.id.tv_date);
TextView tvContent = helper.getView(R.id.tv_content);
View dashBottom = helper.getView(R.id.dash_bottom);

int layoutPosition = helper.getLayoutPosition();
if (layoutPosition == 0) {
dashTop.setVisibility(View.GONE);
dashBottom.setVisibility(View.VISIBLE);
} else if (layoutPosition == getData().size() - 1) {
dashTop.setVisibility(View.VISIBLE);
dashBottom.setVisibility(View.GONE);
} else {
dashTop.setVisibility(View.VISIBLE);
dashBottom.setVisibility(View.VISIBLE);
}

String content = "";
StringBuilder date = null;
HistoryTodayDto.HistoryTodayBean historyTodayBean = item.getHistoryTodayBean();
if (null != historyTodayBean) {
content = historyTodayBean.getEvent();
String dateOrigin = historyTodayBean.getDate();
if (!TextUtils.isEmpty(dateOrigin)) {
try {
date = new StringBuilder(dateOrigin);
date.insert(4, "\n");
} catch (Exception e) {
e.printStackTrace();
}
}
}

if (null == date || TextUtils.isEmpty(date)) {
tvDate.setText("");
} else {
tvDate.setText(date);
}
tvContent.setText(TextUtils.isEmpty(content) ? "" : content);
}
break;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.chad.library.adapter.base.entity.MultiItemEntity;
import com.chad.library.adapter.base.entity.SectionMultiEntity;
import com.heyongrui.module2.data.dto.GankDto;
import com.heyongrui.module2.data.dto.HistoryTodayDto;
import com.heyongrui.module2.data.dto.LeisureReadDto;

import java.util.List;
Expand All @@ -16,13 +17,15 @@ public class Module2SectionEntity extends SectionMultiEntity implements MultiIte
public static final int WELFARE = 100;
public static final int GANK = 101;
public static final int LEISURE_READ = 102;
public static final int TODAY_HISTORY = 103;

private int itemType;
private int spanSize;

private Object object;
private GankDto gankDto;
private LeisureReadDto leisureReadDto;
private HistoryTodayDto.HistoryTodayBean historyTodayBean;

public Module2SectionEntity(boolean isHeader, String header, boolean isShow) {
super(isHeader, header);
Expand All @@ -47,6 +50,8 @@ public Module2SectionEntity(int itemType, int spanSize, Object object) {
this.gankDto = (GankDto) object;
} else if (object instanceof LeisureReadDto) {
this.leisureReadDto = (LeisureReadDto) object;
} else if (object instanceof HistoryTodayDto.HistoryTodayBean) {
this.historyTodayBean = (HistoryTodayDto.HistoryTodayBean) object;
}
}
}
Expand Down Expand Up @@ -91,4 +96,12 @@ public LeisureReadDto getLeisureReadDto() {
public void setLeisureReadDto(LeisureReadDto leisureReadDto) {
this.leisureReadDto = leisureReadDto;
}

public HistoryTodayDto.HistoryTodayBean getHistoryTodayBean() {
return historyTodayBean;
}

public void setHistoryTodayBean(HistoryTodayDto.HistoryTodayBean historyTodayBean) {
this.historyTodayBean = historyTodayBean;
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
package com.heyongrui.module2.grocery.view

import android.graphics.Color
import android.os.Bundle
import android.view.View
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.alibaba.android.arouter.facade.annotation.Route
import com.blankj.utilcode.util.ConvertUtils
import com.blankj.utilcode.util.ToastUtils
import com.chad.library.adapter.base.BaseQuickAdapter
import com.heyongrui.base.app.BaseApplication
Expand All @@ -17,7 +15,6 @@ import com.heyongrui.base.base.BaseActivity
import com.heyongrui.base.base.BasePresenter
import com.heyongrui.base.utils.DrawableUtil
import com.heyongrui.base.utils.TimeUtil
import com.heyongrui.base.widget.itemdecoration.RecycleViewItemDecoration
import com.heyongrui.module2.R
import com.heyongrui.module2.adapter.Module2SectionAdapter
import com.heyongrui.module2.adapter.Module2SectionEntity
Expand All @@ -29,6 +26,7 @@ import com.heyongrui.network.configure.ResponseDisposable
import kotlinx.android.synthetic.main.activity_today_history.*
import java.util.*
import javax.inject.Inject
import kotlin.collections.ArrayList

@Route(path = ConfigConstants.PATH_TODAY_HISTORY)
class TodayHistoryActivity : BaseActivity<BasePresenter<*>>(),
Expand Down Expand Up @@ -79,8 +77,6 @@ class TodayHistoryActivity : BaseActivity<BasePresenter<*>>(),
val moduleSectionAdapter = Module2SectionAdapter(data)
recyclerView.layoutManager = LinearLayoutManager(this@TodayHistoryActivity)
moduleSectionAdapter.bindToRecyclerView(recyclerView)
val dp1 = ConvertUtils.dp2px(1f)
recyclerView.addItemDecoration(RecycleViewItemDecoration(this@TodayHistoryActivity, dp1, Color.TRANSPARENT))
moduleSectionAdapter.setSpanSizeLookup({ gridLayoutManager, position -> data[position].getSpanSize() })
if (null != listener) {
moduleSectionAdapter.setOnItemClickListener(listener)
Expand All @@ -107,5 +103,16 @@ class TodayHistoryActivity : BaseActivity<BasePresenter<*>>(),

fun setData(historyTodayDto: HistoryTodayDto) {
if (!adapterIsInit()) return
var dataList = ArrayList<Module2SectionEntity>()
if (historyTodayDto != null) {
var todayBeanList: List<HistoryTodayDto.HistoryTodayBean> = historyTodayDto.result
if (todayBeanList != null) {
todayBeanList = todayBeanList.reversed()
for (historyTodayBean in todayBeanList) {
dataList.add(Module2SectionEntity(Module2SectionEntity.TODAY_HISTORY, historyTodayBean))
}
}
}
mTodayHistoryAdapter.replaceData(dataList)
}
}
3 changes: 3 additions & 0 deletions module2/src/main/res/layout/activity_today_history.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@
android:id="@+id/rlv_today_history"
android:layout_width="match_parent"
android:layout_height="0dp"
android:clipToPadding="false"
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tool_bar" />

Expand Down
57 changes: 57 additions & 0 deletions module2/src/main/res/layout/recycle_item_today_history.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_10"
android:paddingLeft="@dimen/dp_10"
android:paddingEnd="@dimen/dp_10"
android:paddingRight="@dimen/dp_10">

<View
android:id="@+id/dash_top"
android:layout_width="1dp"
android:layout_height="@dimen/dp_60"
android:background="@color/colorPrimaryDark"
app:layout_constraintEnd_toEndOf="@+id/tv_date"
app:layout_constraintStart_toStartOf="@+id/tv_date"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/tv_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@color/text_color"
android:textSize="@dimen/sp_12"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/dash_top"
tools:text="2019\n09-07" />

<TextView
android:id="@+id/tv_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_30"
android:layout_marginLeft="@dimen/dp_30"
android:textColor="@color/text_color"
android:textSize="@dimen/sp_14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/tv_date"
app:layout_constraintTop_toTopOf="@+id/tv_date"
tools:text="@string/app_name" />

<View
android:id="@+id/dash_bottom"
android:layout_width="1dp"
android:layout_height="0dp"
android:background="@color/colorPrimaryDark"
app:layout_constraintBottom_toBottomOf="@+id/tv_content"
app:layout_constraintEnd_toEndOf="@+id/tv_date"
app:layout_constraintHeight_min="@dimen/dp_60"
app:layout_constraintStart_toStartOf="@+id/tv_date"
app:layout_constraintTop_toBottomOf="@+id/tv_date" />

</androidx.constraintlayout.widget.ConstraintLayout>

0 comments on commit b5a9b53

Please sign in to comment.