use of android.support.v7.widget.StaggeredGridLayoutManager.LayoutParams in project android2 by aqi00.
the class ScrollFlagActivity method initFlagSpinner.
// 初始化滚动标志的下拉框
private void initFlagSpinner() {
ArrayAdapter<String> flagAdapter = new ArrayAdapter<String>(this, R.layout.item_select, descArray);
flagAdapter.setDropDownViewResource(R.layout.item_dropdown);
Spinner sp_style = findViewById(R.id.sp_flag);
sp_style.setPrompt("请选择滚动标志");
sp_style.setAdapter(flagAdapter);
// 设置下拉框列表的选择监听器
sp_style.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// 获取可折叠布局的布局参数
LayoutParams params = (LayoutParams) ctl_title.getLayoutParams();
// 设置布局参数中的滚动标志位
params.setScrollFlags(flagArray[arg2]);
// 设置可折叠布局的布局参数。注意:第三种滚动标志一定要调用setLayoutParams
ctl_title.setLayoutParams(params);
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});
sp_style.setSelection(0);
}
use of android.support.v7.widget.StaggeredGridLayoutManager.LayoutParams in project DragListView by woxblom.
the class BoardView method addColumnList.
public DragItemRecyclerView addColumnList(final DragItemAdapter adapter, final View header, boolean hasFixedItemSize) {
final DragItemRecyclerView recyclerView = (DragItemRecyclerView) LayoutInflater.from(getContext()).inflate(R.layout.drag_item_recycler_view, this, false);
recyclerView.setId(getColumnCount());
recyclerView.setHorizontalScrollBarEnabled(false);
recyclerView.setVerticalScrollBarEnabled(false);
recyclerView.setMotionEventSplittingEnabled(false);
recyclerView.setDragItem(mDragItem);
recyclerView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
recyclerView.setHasFixedSize(hasFixedItemSize);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setDragItemListener(new DragItemRecyclerView.DragItemListener() {
@Override
public void onDragStarted(int itemPosition, float x, float y) {
mDragStartColumn = getColumnOfList(recyclerView);
mDragStartRow = itemPosition;
mCurrentRecyclerView = recyclerView;
mDragItem.setOffset(((View) mCurrentRecyclerView.getParent()).getX(), mCurrentRecyclerView.getY());
if (mBoardListener != null) {
mBoardListener.onItemDragStarted(mDragStartColumn, mDragStartRow);
}
invalidate();
}
@Override
public void onDragging(int itemPosition, float x, float y) {
int column = getColumnOfList(recyclerView);
boolean positionChanged = column != mLastDragColumn || itemPosition != mLastDragRow;
if (mBoardListener != null && positionChanged) {
mLastDragColumn = column;
mLastDragRow = itemPosition;
mBoardListener.onItemChangedPosition(mDragStartColumn, mDragStartRow, column, itemPosition);
}
}
@Override
public void onDragEnded(int newItemPosition) {
mLastDragColumn = NO_POSITION;
mLastDragRow = NO_POSITION;
if (mBoardListener != null) {
mBoardListener.onItemDragEnded(mDragStartColumn, mDragStartRow, getColumnOfList(recyclerView), newItemPosition);
}
}
});
recyclerView.setDragItemCallback(new DragItemRecyclerView.DragItemCallback() {
@Override
public boolean canDragItemAtPosition(int dragPosition) {
int column = getColumnOfList(recyclerView);
return mBoardCallback == null || mBoardCallback.canDragItemAtPosition(column, dragPosition);
}
@Override
public boolean canDropItemAtPosition(int dropPosition) {
int column = getColumnOfList(recyclerView);
return mBoardCallback == null || mBoardCallback.canDropItemAtPosition(mDragStartColumn, mDragStartRow, column, dropPosition);
}
});
recyclerView.setAdapter(adapter);
recyclerView.setDragEnabled(mDragEnabled);
adapter.setDragStartedListener(new DragItemAdapter.DragStartCallback() {
@Override
public boolean startDrag(View itemView, long itemId) {
return recyclerView.startDrag(itemView, itemId, getRelativeViewTouchX((View) recyclerView.getParent()), getRelativeViewTouchY(recyclerView));
}
@Override
public boolean isDragging() {
return recyclerView.isDragging();
}
});
LinearLayout layout = new LinearLayout(getContext());
layout.setOrientation(LinearLayout.VERTICAL);
layout.setLayoutParams(new LayoutParams(mColumnWidth, LayoutParams.MATCH_PARENT));
if (header != null) {
layout.addView(header);
mHeaders.add(header);
}
layout.addView(recyclerView);
mLists.add(recyclerView);
mColumnLayout.addView(layout);
return recyclerView;
}
use of android.support.v7.widget.StaggeredGridLayoutManager.LayoutParams in project AgentWebX5 by Justson.
the class ScrollingUtil method isRecyclerViewToTop.
public static boolean isRecyclerViewToTop(RecyclerView recyclerView) {
if (recyclerView != null) {
RecyclerView.LayoutManager manager = recyclerView.getLayoutManager();
if (manager == null) {
return true;
}
if (manager.getItemCount() == 0) {
return true;
}
int firstChildTop = 0;
if (recyclerView.getChildCount() > 0) {
// 处理item高度超过一屏幕时的情况
View firstVisibleChild = recyclerView.getChildAt(0);
if (firstVisibleChild != null && firstVisibleChild.getMeasuredHeight() >= recyclerView.getMeasuredHeight()) {
if (android.os.Build.VERSION.SDK_INT < 14) {
return !(ViewCompat.canScrollVertically(recyclerView, -1) || recyclerView.getScrollY() > 0);
} else {
return !ViewCompat.canScrollVertically(recyclerView, -1);
}
}
// 如果RecyclerView的子控件数量不为0,获取第一个子控件的top
// 解决item的topMargin不为0时不能触发下拉刷新
View firstChild = recyclerView.getChildAt(0);
RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) firstChild.getLayoutParams();
firstChildTop = firstChild.getTop() - layoutParams.topMargin - getRecyclerViewItemTopInset(layoutParams) - recyclerView.getPaddingTop();
}
if (manager instanceof LinearLayoutManager) {
LinearLayoutManager layoutManager = (LinearLayoutManager) manager;
if (layoutManager.findFirstCompletelyVisibleItemPosition() < 1 && firstChildTop == 0) {
return true;
}
} else if (manager instanceof StaggeredGridLayoutManager) {
StaggeredGridLayoutManager layoutManager = (StaggeredGridLayoutManager) manager;
int[] out = layoutManager.findFirstCompletelyVisibleItemPositions(null);
if (out[0] < 1 && firstChildTop == 0) {
return true;
}
}
}
return false;
}
use of android.support.v7.widget.StaggeredGridLayoutManager.LayoutParams in project 91Pop by DanteAndroid.
the class MeiZiTuAdapter method convert.
@Override
protected void convert(BaseViewHolder helper, MeiZiTu item) {
ImageView imageView = helper.getView(R.id.iv_item_mei_zi_tu);
GlideApp.with(helper.itemView.getContext()).load(buildGlideUrl(item.getThumbUrl())).transition(new DrawableTransitionOptions().crossFade(300)).into(imageView);
int height;
if (!heightMap.containsKey(item.getThumbUrl())) {
height = item.getHeight() * width / item.getWidth();
heightMap.put(item.getThumbUrl(), height);
} else {
height = heightMap.get(item.getThumbUrl());
}
StaggeredGridLayoutManager.LayoutParams layoutParams = (StaggeredGridLayoutManager.LayoutParams) helper.itemView.getLayoutParams();
layoutParams.height = height;
helper.itemView.setLayoutParams(layoutParams);
}
use of android.support.v7.widget.StaggeredGridLayoutManager.LayoutParams in project 91Pop by DanteAndroid.
the class Mm99Adapter method convert.
@Override
protected void convert(final BaseViewHolder helper, final Mm99 item) {
final ImageView imageView = helper.getView(R.id.iv_item_99_mm);
GlideApp.with(helper.itemView.getContext()).asBitmap().load(item.getImgUrl()).transition(new BitmapTransitionOptions().crossFade(300)).into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
imageView.setImageBitmap(resource);
int height;
if (!heightMap.containsKey(item.getImgUrl())) {
height = resource.getHeight() * width / item.getImgWidth();
heightMap.put(item.getImgUrl(), height);
} else {
height = heightMap.get(item.getImgUrl());
}
StaggeredGridLayoutManager.LayoutParams layoutParams = (StaggeredGridLayoutManager.LayoutParams) helper.itemView.getLayoutParams();
layoutParams.height = height;
helper.itemView.setLayoutParams(layoutParams);
}
});
}
Aggregations