Browse Source

feat: 🐜 首页大体布局

dev-calendar-view
niushuai233 1 year ago
parent
commit
fbf4dc82b2
  1. 23
      app/src/main/java/cc/niushuai/didicheck/ui/main/home/HomeFragment.java
  2. 26
      app/src/main/java/cc/niushuai/didicheck/ui/main/home/HomeRecycleViewAdapter.java
  3. 8
      app/src/main/java/cc/niushuai/didicheck/ui/main/home/HomeRecycleViewHolder.java
  4. 14
      app/src/main/java/cc/niushuai/didicheck/ui/main/home/HomeViewModel.java
  5. 21
      app/src/main/res/layout/item_list.xml

23
app/src/main/java/cc/niushuai/didicheck/ui/main/home/HomeFragment.java

@ -1,7 +1,6 @@ @@ -1,7 +1,6 @@
package cc.niushuai.didicheck.ui.main.home;
import android.os.Bundle;
import android.text.format.DateUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@ -17,10 +16,15 @@ import androidx.lifecycle.Observer; @@ -17,10 +16,15 @@ import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import cc.niushuai.didicheck.biz.entity.CheckRecord;
import cc.niushuai.didicheck.biz.enums.CheckTypeEnum;
import cc.niushuai.didicheck.databinding.FragmentHomeBinding;
import cn.hutool.core.date.DateUtil;
@ -65,6 +69,23 @@ public class HomeFragment extends Fragment { @@ -65,6 +69,23 @@ public class HomeFragment extends Fragment {
itemAnimator.setRemoveDuration(1000);
homeDataZoneRecyclerView.setItemAnimator(itemAnimator);
List<CheckRecord> recordList = new ArrayList<>();
for (int i = 0; i < 50; i++) {
CheckRecord record = new CheckRecord();
record.setId(new Date().getTime());
record.setCheckType(CheckTypeEnum.ADD);
record.setName("recordName" + i);
record.setDescription(null);
record.setDeleted(0);
record.setCreateDate(new Date());
recordList.add(record);
}
HomeRecycleViewAdapter homeRecycleViewAdapter = new HomeRecycleViewAdapter(this.getActivity(), recordList);
homeDataZoneRecyclerView.setAdapter(homeRecycleViewAdapter);
LinearLayoutManager layoutManager = new LinearLayoutManager(this.getActivity());
homeDataZoneRecyclerView.setLayoutManager(layoutManager);
return rootLayout;
}

26
app/src/main/java/cc/niushuai/didicheck/ui/main/home/HomeRecycleViewAdapter.java

@ -1,25 +1,45 @@ @@ -1,25 +1,45 @@
package cc.niushuai.didicheck.ui.main.home;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
import java.util.List;
import cc.niushuai.didicheck.R;
import cc.niushuai.didicheck.biz.entity.CheckRecord;
import cn.hutool.core.date.DateUtil;
public class HomeRecycleViewAdapter extends RecyclerView.Adapter<HomeRecycleViewHolder> {
private final List<CheckRecord> checkRecordList = new ArrayList<>();
private final Context context;
public HomeRecycleViewAdapter(Context context, List<CheckRecord> checkRecordList) {
this.context = context;
this.checkRecordList.addAll(checkRecordList);
}
@NonNull
@Override
public HomeRecycleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return null;
View view = View.inflate(context, R.layout.item_list, null);
return new HomeRecycleViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull HomeRecycleViewHolder holder, int position) {
CheckRecord checkRecord = checkRecordList.get(position);
holder.titleTextView.setText(checkRecord.getName());
holder.contentTextView.setText(DateUtil.formatDate(checkRecord.getCreateDate()));
}
@Override
public int getItemCount() {
return 0;
return checkRecordList.size();
}
}

8
app/src/main/java/cc/niushuai/didicheck/ui/main/home/HomeRecycleViewHolder.java

@ -1,13 +1,21 @@ @@ -1,13 +1,21 @@
package cc.niushuai.didicheck.ui.main.home;
import android.view.View;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import cc.niushuai.didicheck.R;
public class HomeRecycleViewHolder extends RecyclerView.ViewHolder {
protected TextView titleTextView;
protected TextView contentTextView;
public HomeRecycleViewHolder(@NonNull View itemView) {
super(itemView);
titleTextView = itemView.findViewById(R.id.item_list_title_textView);
contentTextView = itemView.findViewById(R.id.item_list_content_textView);
}
}

14
app/src/main/java/cc/niushuai/didicheck/ui/main/home/HomeViewModel.java

@ -10,9 +10,9 @@ import cc.niushuai.didicheck.biz.entity.CheckRecord; @@ -10,9 +10,9 @@ import cc.niushuai.didicheck.biz.entity.CheckRecord;
public class HomeViewModel extends ViewModel {
private MutableLiveData<String> title = new MutableLiveData<>();
private MutableLiveData<Date> selectDate = new MutableLiveData<>();
private MutableLiveData<List<CheckRecord>> checkRecordList = new MutableLiveData<>();
private final MutableLiveData<String> title = new MutableLiveData<>();
private final MutableLiveData<Date> selectDate = new MutableLiveData<>();
private final MutableLiveData<List<CheckRecord>> checkRecordList = new MutableLiveData<>();
public MutableLiveData<String> getTitle() {
return title;
@ -22,14 +22,14 @@ public class HomeViewModel extends ViewModel { @@ -22,14 +22,14 @@ public class HomeViewModel extends ViewModel {
this.title.setValue(title);
}
public void setSelectDate(Date value) {
this.selectDate.setValue(value);
}
public MutableLiveData<Date> getSelectDate() {
return this.selectDate;
}
public void setSelectDate(Date value) {
this.selectDate.setValue(value);
}
public MutableLiveData<List<CheckRecord>> getCheckRecordList() {
return checkRecordList;
}

21
app/src/main/res/layout/item_list.xml

@ -1,8 +1,29 @@ @@ -1,8 +1,29 @@
<?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:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/item_list_title_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="29dp"
android:layout_marginTop="33dp"
android:text="标题"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/item_list_content_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginTop="18dp"
android:text="内容"
app:layout_constraintStart_toStartOf="@id/item_list_title_textView"
app:layout_constraintTop_toBottomOf="@id/item_list_title_textView" />
</androidx.constraintlayout.widget.ConstraintLayout>
Loading…
Cancel
Save