From a18f7d09a31fbbaebe90c157062856ba3153d3e4 Mon Sep 17 00:00:00 2001 From: houxg Date: Mon, 5 Dec 2016 18:24:26 +0800 Subject: [PATCH] show notes in card view --- .../org/houxg/leamonax/ui/NoteFragment.java | 8 +- .../leamonax/widget/DividerDecoration.java | 22 +++ app/src/main/res/drawable/shape_changed.xml | 5 + app/src/main/res/layout/item_note.xml | 140 +++++++++++------- 4 files changed, 116 insertions(+), 59 deletions(-) create mode 100644 app/src/main/java/org/houxg/leamonax/widget/DividerDecoration.java create mode 100644 app/src/main/res/drawable/shape_changed.xml diff --git a/app/src/main/java/org/houxg/leamonax/ui/NoteFragment.java b/app/src/main/java/org/houxg/leamonax/ui/NoteFragment.java index 1307cf4..63c5afc 100644 --- a/app/src/main/java/org/houxg/leamonax/ui/NoteFragment.java +++ b/app/src/main/java/org/houxg/leamonax/ui/NoteFragment.java @@ -30,7 +30,7 @@ import org.houxg.leamonax.service.NoteService; import org.houxg.leamonax.utils.DisplayUtils; import org.houxg.leamonax.utils.NetworkUtils; import org.houxg.leamonax.utils.ToastUtils; -import org.houxg.leamonax.widget.DashDividerDecoration; +import org.houxg.leamonax.widget.DividerDecoration; import java.util.Collections; import java.util.List; @@ -79,11 +79,7 @@ public class NoteFragment extends Fragment implements NoteAdapter.NoteAdapterLis RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(container.getContext()); mNoteListView.setLayoutManager(layoutManager); mNoteListView.setItemAnimator(new DefaultItemAnimator()); - - int dashGap = DisplayUtils.dp2px(container.getContext(), 4); - int dashWidth = DisplayUtils.dp2px(container.getContext(), 8); - int height = DisplayUtils.dp2px(container.getContext(), 1); - mNoteListView.addItemDecoration(new DashDividerDecoration(0xffa0a0a0, dashGap, dashWidth, height)); + mNoteListView.addItemDecoration(new DividerDecoration(DisplayUtils.dp2px(container.getContext(), 8))); mAdapter = new NoteAdapter(this); mNoteListView.setAdapter(mAdapter); diff --git a/app/src/main/java/org/houxg/leamonax/widget/DividerDecoration.java b/app/src/main/java/org/houxg/leamonax/widget/DividerDecoration.java new file mode 100644 index 0000000..10bdb32 --- /dev/null +++ b/app/src/main/java/org/houxg/leamonax/widget/DividerDecoration.java @@ -0,0 +1,22 @@ +package org.houxg.leamonax.widget; + + +import android.graphics.Rect; +import android.support.v7.widget.RecyclerView; +import android.view.View; + +public class DividerDecoration extends RecyclerView.ItemDecoration { + private int mDividerSize; + + public DividerDecoration(int dividerSize) { + mDividerSize = dividerSize; + } + + @Override + public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { + super.getItemOffsets(outRect, view, parent, state); + int pos = parent.getChildAdapterPosition(view); + int top = pos == 0 ? mDividerSize : 0; + outRect.set(mDividerSize, top, mDividerSize, mDividerSize); + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_changed.xml b/app/src/main/res/drawable/shape_changed.xml new file mode 100644 index 0000000..66dee0f --- /dev/null +++ b/app/src/main/res/drawable/shape_changed.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_note.xml b/app/src/main/res/layout/item_note.xml index ab13f22..4366cbd 100644 --- a/app/src/main/res/layout/item_note.xml +++ b/app/src/main/res/layout/item_note.xml @@ -1,67 +1,101 @@ - - - + android:layout_height="wrap_content"> + android:background="?android:attr/selectableItemBackground" + android:orientation="vertical"> - + android:orientation="vertical" + android:paddingBottom="8dp" + android:paddingEnd="16dp" + android:paddingStart="16dp" + android:paddingTop="16dp"> - + - + + + + + + + + android:gravity="center_vertical" + android:orientation="horizontal" + android:paddingBottom="8dp" + android:paddingEnd="16dp" + android:paddingStart="16dp" + android:paddingTop="8dp"> + + + + + + + + + - - \ No newline at end of file + + \ No newline at end of file