Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.GridLayoutManager;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.Toast;
Expand Down Expand Up @@ -61,9 +61,16 @@ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {

mGameList = new ArrayList<>();
mNewGameRvAdapter = new NewGameRvAdapter(getContext(), mGameList);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mRvGames.setLayoutManager(linearLayoutManager);
// LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
// linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
// mRvGames.setLayoutManager(linearLayoutManager);
// mRvGames.setLayoutManager(linearLayoutManager);
GridLayoutManager gridLayoutManager= new GridLayoutManager(getContext(), 2,
GridLayoutManager.VERTICAL, false);
// 设置布局管理器
mRvGames.setLayoutManager(gridLayoutManager);
// mRvGames.setLayoutManager(new StaggeredGridLayoutManager(2,
// StaggeredGridLayoutManager.VERTICAL));
mRvGames.setEmptyView(mFlEmptyView);
mRvGames.setAdapter(mNewGameRvAdapter);

Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-beta7'
classpath 'com.android.tools.build:gradle:2.1.2'

classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.finalteam.loadingviewfinal;

import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.View;
Expand Down Expand Up @@ -63,7 +64,43 @@ public void setAdapter(RecyclerView.Adapter<RecyclerView.ViewHolder> adapter) {
notifyItemRangeInserted(getHeadersCount(), mAdapter.getItemCount());
}
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
// Log.e("HeaderAdapter", "onAttachedToRecyclerView");
super.onAttachedToRecyclerView(recyclerView);
final RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();
if (layoutManager instanceof GridLayoutManager) {
final GridLayoutManager gridLayoutManager = (GridLayoutManager) layoutManager;
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
int result = 1;
int viewType = getItemViewType(position);
if (mFooterViewTypes.contains(viewType)) {
result = ((GridLayoutManager) layoutManager).getSpanCount();
} else if (mHeaderViews.contains(viewType)) {
result = ((GridLayoutManager) layoutManager).getSpanCount();
}
// Log.e("HeaderAdapter", "onAttachedToRecyclerView getSpanSize==" + result);
return result;
}
});
}
}

@Override
public void onViewAttachedToWindow(RecyclerView.ViewHolder holder) {
int position = holder.getLayoutPosition();
int viewType = getItemViewType(position);
if (mFooterViewTypes.contains(viewType) || mHeaderViews.contains(viewType)) {
ViewGroup.LayoutParams lp = holder.itemView.getLayoutParams();
if (lp != null
&& lp instanceof StaggeredGridLayoutManager.LayoutParams) {
StaggeredGridLayoutManager.LayoutParams p = (StaggeredGridLayoutManager.LayoutParams) lp;
p.setFullSpan(true);
}
}
}
/**
* @return RecyclerView.Adapter
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ public void setAdapter(RecyclerView.Adapter adapter) {

adapter.registerAdapterDataObserver(mDataObserver);
mHeaderAndFooterRecyclerViewAdapter.setAdapter(adapter);
mHeaderAndFooterRecyclerViewAdapter.onAttachedToRecyclerView(this);//手动调用
}

@Override
Expand Down