diff --git a/samples/Support7Demos/res/layout/activity_linear_layout_manager.xml b/samples/Support7Demos/res/layout/activity_linear_layout_manager.xml
index f4afe95fa..d671c7356 100644
--- a/samples/Support7Demos/res/layout/activity_linear_layout_manager.xml
+++ b/samples/Support7Demos/res/layout/activity_linear_layout_manager.xml
@@ -17,15 +17,34 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
-
+
+
+
+
+
+
parent, View view, int position, long id) {
- mRecyclerView.scrollToPosition(position);
+ int offset = Integer.MIN_VALUE;
+ String offsetString = scrollOffset.getText().toString();
+ try {
+ offset = Integer.parseInt(offsetString);
+ } catch (NumberFormatException ex) {
+
+ }
+
+ if (offset == Integer.MIN_VALUE) {
+ if (checkBox.isChecked()) {
+ mRecyclerView.smoothScrollToPosition(position);
+ } else {
+ mRecyclerView.scrollToPosition(position);
+ }
+ } else {
+ // ignore offset until we add recycling list view with smooth scroll to offset
+ mRecyclerView.smoothScrollToPosition(position);
+ }
+
}
@Override
@@ -127,25 +207,28 @@ public class LinearLayoutManagerActivity extends Activity {
new ConfigToggle(R.string.checkbox_orientation) {
@Override
public boolean isChecked() {
- return mListLayoutManager.getOrientation() == LinearLayoutManager.HORIZONTAL;
+ return mListWrapper.getOrientation() == LinearLayoutManager.HORIZONTAL;
}
@Override
public void onChange(boolean newValue) {
- mListLayoutManager.setOrientation(newValue ? LinearLayoutManager.HORIZONTAL
+ mListWrapper.setOrientation(newValue ? LinearLayoutManager.HORIZONTAL
: LinearLayoutManager.VERTICAL);
- mDividerItemDecoration.setOrientation(mListLayoutManager.getOrientation());
+ if (mDividerItemDecoration != null) {
+ mDividerItemDecoration.setOrientation(mListWrapper.getOrientation());
+ }
+
}
},
new ConfigToggle(R.string.checkbox_reverse) {
@Override
public boolean isChecked() {
- return mListLayoutManager.getReverseLayout();
+ return mListWrapper.getReverseLayout();
}
@Override
public void onChange(boolean newValue) {
- mListLayoutManager.setReverseLayout(newValue);
+ mListWrapper.setReverseLayout(newValue);
}
},
new ConfigToggle(R.string.checkbox_layout_dir) {
@@ -164,12 +247,12 @@ public class LinearLayoutManagerActivity extends Activity {
new ConfigToggle(R.string.checkbox_stack_from_end) {
@Override
public boolean isChecked() {
- return mListLayoutManager.getStackFromEnd();
+ return mListWrapper.getStackFromEnd();
}
@Override
public void onChange(boolean newValue) {
- mListLayoutManager.setStackFromEnd(newValue);
+ mListWrapper.setStackFromEnd(newValue);
}
}
};
@@ -221,7 +304,6 @@ public class LinearLayoutManagerActivity extends Activity {
}
-
private RecyclerView.Adapter mConfigAdapter = new RecyclerView.Adapter() {
@Override
public ConfigViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
@@ -240,4 +322,25 @@ public class LinearLayoutManagerActivity extends Activity {
}
};
+
+ /**
+ * To avoid adding interfaces to LayoutManager for the demo, we use this wrapper class to
+ * call different LayoutManagers
+ */
+ private static interface ListWrapper {
+
+ int getOrientation();
+
+ void setOrientation(int orientation);
+
+ boolean getReverseLayout();
+
+ void setReverseLayout(boolean newValue);
+
+ boolean getStackFromEnd();
+
+ void setStackFromEnd(boolean newValue);
+ }
+
+
}
diff --git a/samples/Support7Demos/src/com/example/android/supportv7/widget/adapter/SimpleStringAdapter.java b/samples/Support7Demos/src/com/example/android/supportv7/widget/adapter/SimpleStringAdapter.java
index 110eb626a..a12e79d26 100644
--- a/samples/Support7Demos/src/com/example/android/supportv7/widget/adapter/SimpleStringAdapter.java
+++ b/samples/Support7Demos/src/com/example/android/supportv7/widget/adapter/SimpleStringAdapter.java
@@ -17,9 +17,9 @@
package com.example.android.supportv7.widget.adapter;
import android.content.Context;
+import android.graphics.Color;
import android.support.v7.widget.RecyclerView;
import android.util.TypedValue;
-import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
@@ -34,16 +34,16 @@ public class SimpleStringAdapter extends RecyclerView.Adapter