1.
First, create a flexible XML file that will represent the divider as follows:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/white" />
<size android:height="1dp" />
</shape>
Then set this separator to DividerItemDecorationas follows:
new DividerItemDecoration(getResources().getDrawable(R.drawable.recycler_divider))
2.
, ViewHolder, , mRootView, , . , , :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="?attr/selectableItemBackground">
<TextView
android:id="@+id/textTitle"
style="@style/AppTheme.ListTextView"
/>
</LinearLayout>
onBindViewHolder(...) OnClickListener itemView :
@Override
public void onBindViewHolder(MainHolder holder, final int position) {
.....
holder.itemView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String strTitle = list.get(position).getTitle().toString();
Intent intent = new Intent(context, DetailActivity.class);
intent.putExtra("title", strTitle);
context.startActivity(intent);
}
});
}
+ .
3.
RecyclerView . LinearLayoutManager onMeasure(...), . : fooobar.com/questions/38265/...
4.
. # 2. ( ) , OnClickListener, ?attr/selectableItemBackground ?attr/selectableItemBackgroundBorderless, , . , 5.0+, , . , , .
: http://developer.android.com/training/material/animations.html#Touch
5.
? , RecyclerView? , , ItemAnimator , :
mRecyclerView.setItemAnimator(...)
:
mRecyclerView.setItemAnimator(new DefaultItemAnimator())
, ? , , Activity Transitions, Android 5,0 +