Add empty list tip

This commit is contained in:
seven332 committed 2015-08-23 15:19:39 +08:00
1 parent 6992b1591b
commit c30c3aef77
11 files changed
+207 -12

No files matched your search

@@ -34,6 +34,7 @@ import com.h6ah4i.android.widget.advrecyclerview.swipeable.SwipeableItemAdapter;
import com.h6ah4i.android.widget.advrecyclerview.touchguard.RecyclerViewTouchActionGuardManager;
import com.h6ah4i.android.widget.advrecyclerview.utils.AbstractDraggableSwipeableItemViewHolder;
import com.h6ah4i.android.widget.advrecyclerview.utils.WrapperAdapterUtils;
import com.hippo.effect.ViewTransition;
import com.hippo.ehviewer.R;
import com.hippo.rippleold.RippleSalon;
import com.hippo.scene.AppbarScene;
@@ -46,6 +47,8 @@ import java.util.List;
public abstract class AbsDragSortScene extends AppbarScene {
private ViewGroup mTip;
private TextView mTipTextView;
private EasyRecyclerView mRecyclerView;
private RecyclerView.LayoutManager mLayoutManager;
private RecyclerView.Adapter mAdapter;
@@ -54,6 +57,8 @@ public abstract class AbsDragSortScene extends AppbarScene {
private RecyclerViewSwipeManager mRecyclerViewSwipeManager;
private RecyclerViewTouchActionGuardManager mRecyclerViewTouchActionGuardManager;
private ViewTransition mViewTransition;
private int mOriginalPaddingBottom;
@Override
@@ -65,6 +70,8 @@ public abstract class AbsDragSortScene extends AppbarScene {
Resources resources = getStageActivity().getResources();
mTip = (ViewGroup) findViewById(R.id.tip);
mTipTextView = (TextView) mTip.findViewById(R.id.text_view);
mRecyclerView = (EasyRecyclerView) findViewById(R.id.recycler_view);
mOriginalPaddingBottom = mRecyclerView.getPaddingBottom();
@@ -118,11 +125,27 @@ public abstract class AbsDragSortScene extends AppbarScene {
mRecyclerViewTouchActionGuardManager.attachRecyclerView(mRecyclerView);
mRecyclerViewSwipeManager.attachRecyclerView(mRecyclerView);
mRecyclerViewDragDropManager.attachRecyclerView(mRecyclerView);
mViewTransition = new ViewTransition(mTip, mRecyclerView);
if (mWrappedAdapter.getItemCount() == 0) {
mViewTransition.showView(0, false);
} else {
mViewTransition.showView(1, false);
}
}
public void setTipText(String text) {
mTipTextView.setText(text);
}
public void notifyDataSetChanged() {
if (mWrappedAdapter != null) {
mWrappedAdapter.notifyDataSetChanged();
if (mWrappedAdapter.getItemCount() == 0) {
mViewTransition.showView(0, true);
} else {
mViewTransition.showView(1, true);
}
}
}
@@ -311,6 +334,12 @@ public abstract class AbsDragSortScene extends AppbarScene {
onRemove(position);
mList.remove(position);
notifyItemRemoved(position);
// Try to show tip
if (mWrappedAdapter.getItemCount() == 0) {
mViewTransition.showView(0, true);
} else {
mViewTransition.showView(1, true);
}
}
}
@@ -49,6 +49,8 @@ public class DownloadLabelScene extends AbsDragSortScene implements AppbarScene.
protected void onCreate(boolean rebirth) {
super.onCreate(rebirth);
setTipText("No download label"); // TODO hardcode
addAction(R.drawable.ic_plus_dark_x24);
setOnClickActionListener(this);
@@ -175,6 +175,7 @@ public class DownloadScene extends Scene implements DrawerProvider,
mRightDrawerView.setOnItemClickListener(new DownloadTagClickListener());
mRightDrawerView.setPlusVisibility(View.GONE);
mRightDrawerView.setHelper(this);
mRightDrawerView.showRecyclerView(false);
}
@Override
@@ -334,6 +334,12 @@ public final class GalleryListScene extends Scene implements ListSearchBar.Helpe
mRightDrawerView.setAdapter(mQuickSearchAdapter);
mRightDrawerView.setOnItemClickListener(new QuickSearchClickListener());
mRightDrawerView.setHelper(this);
mRightDrawerView.setTipText("No quick search"); // TODO hardcode
if (mQuickSearchAdapter.getItemCount() == 0) {
mRightDrawerView.showTip(false);
} else {
mRightDrawerView.showRecyclerView(false);
}
// When scene start
if (!rebirth) {
@@ -932,6 +938,11 @@ public final class GalleryListScene extends Scene implements ListSearchBar.Helpe
} else if (Constants.MESSENGER_ID_UPDATE_QUICK_SEARCH == id) {
mQuickSearches = DBUtils.getAllQuickSearch();
mQuickSearchAdapter.notifyDataSetChanged();
if (mQuickSearchAdapter.getItemCount() == 0) {
mRightDrawerView.showTip(false);
} else {
mRightDrawerView.showRecyclerView(false);
}
}
}
@@ -46,6 +46,13 @@ public class QuickSearchScene extends AbsDragSortScene implements Messenger.Rece
Messenger.getInstance().unregister(Constants.MESSENGER_ID_UPDATE_QUICK_SEARCH_NAME, this);
}
@Override
protected void onCreate(boolean rebirth) {
super.onCreate(rebirth);
setTipText("No quick search"); // TODO hardcode
}
@Override
protected void onDestroy(boolean die) {
super.onDestroy(die);
@@ -22,9 +22,11 @@ import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.hippo.effect.ViewTransition;
import com.hippo.ehviewer.R;
import com.hippo.rippleold.RippleSalon;
import com.hippo.widget.recyclerview.EasyRecyclerView;
@@ -36,8 +38,12 @@ public class AppbarRecyclerView extends LinearLayout implements View.OnClickList
public TextView mTitle;
public View mPlus;
public View mSettings;
public ViewGroup mTip;
public TextView mTipTextView;
public EasyRecyclerView mRecyclerView;
public ViewTransition mViewTransition;
public int mOriginalPaddingBottom;
public Helper mHelper;
@@ -64,6 +70,8 @@ public class AppbarRecyclerView extends LinearLayout implements View.OnClickList
mTitle = (TextView) findViewById(R.id.title);
mPlus = findViewById(R.id.plus);
mSettings = findViewById(R.id.settings);
mTip = (ViewGroup) findViewById(R.id.tip);
mTipTextView = (TextView) mTip.findViewById(R.id.text_view);
mRecyclerView = (EasyRecyclerView) findViewById(R.id.recycler_view);
mRecyclerView.setHasFixedSize(true);
@@ -85,6 +93,8 @@ public class AppbarRecyclerView extends LinearLayout implements View.OnClickList
RippleSalon.addRipple(mSettings, true);
mOriginalPaddingBottom = mRecyclerView.getPaddingBottom();
mViewTransition = new ViewTransition(mTip, mRecyclerView);
}
public void setHelper(Helper helper) {
@@ -95,10 +105,22 @@ public class AppbarRecyclerView extends LinearLayout implements View.OnClickList
mTitle.setText(title);
}
public void setTipText(String tipText) {
mTipTextView.setText(tipText);
}
public void setAdapter(RecyclerView.Adapter adapter) {
mRecyclerView.setAdapter(adapter);
}
public void showTip(boolean animation) {
mViewTransition.showView(0, animation);
}
public void showRecyclerView(boolean animation) {
mViewTransition.showView(1, animation);
}
public void setOnItemClickListener(EasyRecyclerView.OnItemClickListener listener) {
mRecyclerView.setOnItemClickListener(listener);
}