当前位置: 首页>>代码示例>>Java>>正文


Java RecyclerView.LayoutManager方法代码示例

本文整理汇总了Java中android.support.v7.widget.RecyclerView.LayoutManager方法的典型用法代码示例。如果您正苦于以下问题:Java RecyclerView.LayoutManager方法的具体用法?Java RecyclerView.LayoutManager怎么用?Java RecyclerView.LayoutManager使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.support.v7.widget.RecyclerView的用法示例。


在下文中一共展示了RecyclerView.LayoutManager方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onAttachedToRecyclerView

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
    super.onAttachedToRecyclerView(recyclerView);
    RecyclerView.LayoutManager manager = recyclerView.getLayoutManager();
    if (manager instanceof GridLayoutManager) {
        final GridLayoutManager gridManager = ((GridLayoutManager) manager);
        gridManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                return (isHeader(position) || isFooter(position) || isRefreshHeader(position))
                        ? gridManager.getSpanCount() : 1;
            }
        });
    }
    adapter.onAttachedToRecyclerView(recyclerView);
}
 
开发者ID:leobert-lan,项目名称:UiLib,代码行数:17,代码来源:LRecyclerView.java

示例2: onCreateView

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_recipe_list, container, false);
    ButterKnife.bind(this, view);

    this.adapter = new RecipeCardAdapter();
    this.adapter.setOnRecipeClickListener(this);

    RecyclerView.LayoutManager lm = new LinearLayoutManager(
            getActivity(), LinearLayoutManager.VERTICAL, false);

    this.recyclerView.setLayoutManager(lm);
    this.recyclerView.setAdapter(adapter);

    return view;
}
 
开发者ID:AndrejJurkin,项目名称:udacity-baking-app-mvvm-rxjava-dagger,代码行数:18,代码来源:RecipeListFragment.java

示例3: onChildDraw

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int
        actionState, boolean isCurrentlyActive) {
    //判断当前是否是swipe方式:侧滑。
    if (actionState == ItemTouchHelper.ACTION_STATE_SWIPE) {
        //1.ItemView--ViewHolder; 2.侧滑条目的透明度程度关联谁?dX(delta增量,范围:当前条目-width~width)。
        RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();
        float alpha = 1;
        if (layoutManager instanceof LinearLayoutManager) {
            int orientation = ((LinearLayoutManager) layoutManager).getOrientation();
            if (orientation == LinearLayoutManager.HORIZONTAL) {
                alpha = 1 - Math.abs(dY) / viewHolder.itemView.getHeight();
            } else if (orientation == LinearLayoutManager.VERTICAL) {
                alpha = 1 - Math.abs(dX) / viewHolder.itemView.getWidth();
            }
        }
        viewHolder.itemView.setAlpha(alpha);//1~0
    }
    super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
}
 
开发者ID:leobert-lan,项目名称:UiLib,代码行数:21,代码来源:DefaultItemTouchHelperCallback.java

示例4: fetchMatches

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
private void fetchMatches(Context context) {
    users = new ArrayList<>();
    Client clientone = new Client().setUsername("bunnypassion");
    Client clienttwo = new Client().setUsername("butterscotchseven");
    Client clientthree = new Client().setUsername("danieldas");
    users.add(clientone);
    users.add(clienttwo);
    users.add(clienttwo);
    users.add(clienttwo);
    users.add(clientthree);

    matchesAdapter = new MatchesAdapter(users, getContext());
    RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false);

    matchesView.setLayoutManager(layoutManager);
    matchesView.setAdapter(matchesAdapter);

    matchesAdapter.notifyDataSetChanged();

}
 
开发者ID:othreecodes,项目名称:Dampp,代码行数:21,代码来源:HomeFragment.java

示例5: getOrientation

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
private int getOrientation(RecyclerView parent) {
    final RecyclerView.LayoutManager lm = parent.getLayoutManager();
    if (lm instanceof LinearLayoutManager) {
        return ((LinearLayoutManager) lm).getOrientation();
    } else {
        throw new IllegalStateException("Use only with a LinearLayoutManager!");
    }
}
 
开发者ID:sega4revenge,项目名称:Sega,代码行数:9,代码来源:SearchDivider.java

示例6: createLayoutManager

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
protected RecyclerView.LayoutManager createLayoutManager() {
    GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 2);
    proteinAdapter.setSpanCount(2);
    gridLayoutManager.setSpanSizeLookup(proteinAdapter.getSpanSizeLookup());
    return gridLayoutManager;
}
 
开发者ID:gejiaheng,项目名称:Protein,代码行数:8,代码来源:UserShotListFragment.java

示例7: findLastVisibleItemPosition

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
 * @param layoutManager the given subclass of {@link RecyclerView.LayoutManager}
 * @return the last visible item position among such positions in all spans
 */
public static <T extends RecyclerView.LayoutManager> int findLastVisibleItemPosition(@NonNull final T layoutManager) {
    final int count = getSpanCount(layoutManager);
    int position;
    int end = RecyclerView.NO_POSITION;
    for (int i = count - 1; i >= 0; i--) {
        position = findLastVisibleItemPosition(layoutManager, i);
        if (end == RecyclerView.NO_POSITION || end < position) {
            end = position;
        }
    }
    return end;
}
 
开发者ID:Tenor-Inc,项目名称:tenor-android-core,代码行数:17,代码来源:AbstractLayoutManagerUtils.java

示例8: isNestedScrollViewTop

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
private boolean isNestedScrollViewTop() {
    RecyclerView.LayoutManager layoutManager = mNestedScrollViewProvider.getNestedScrollView().getLayoutManager();
    if (layoutManager instanceof LinearLayoutManager) {
        int position = ((LinearLayoutManager) layoutManager).findFirstVisibleItemPosition();
        View itemView = mNestedScrollViewProvider.getNestedScrollView().getChildAt(0);
        if (itemView == null || (position == 0 && itemView.getTop() == 0)) {
            return true;
        }
    }
    return false;
}
 
开发者ID:Drizzlezhang,项目名称:ZhihuUserProfile,代码行数:12,代码来源:ZhihuUserProfileLayout.java

示例9: setLayoutManager

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
     * Provide the layoutManager for the recycler view.
     */
    public void setLayoutManager(RecyclerView.LayoutManager layout) {
//        boolean hadLayoutManager = mLayoutManager != null;
        mLayoutManager = layout;
        if (mRecyclerView != null) {
            mRecyclerView.setLayoutManager(layout);
        }
    }
 
开发者ID:halohoop,项目名称:AndroidDigIn,代码行数:11,代码来源:RecyclerFragment.java

示例10: onScrolled

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
    super.onScrolled(recyclerView, dx, dy);

    RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();

    if (layoutManagerType == null) {
        if (layoutManager instanceof LinearLayoutManager) {
            layoutManagerType = LayoutManagerType.LinearLayout;
        } else if (layoutManager instanceof GridLayoutManager) {
            layoutManagerType = LayoutManagerType.GridLayout;
        } else if (layoutManager instanceof StaggeredGridLayoutManager) {
            layoutManagerType = LayoutManagerType.StaggeredGridLayout;
        } else {
            throw new RuntimeException(
                    "Unsupported LayoutManager used. Valid ones are LinearLayoutManager, GridLayoutManager and StaggeredGridLayoutManager");
        }
    }

    switch (layoutManagerType) {
        case LinearLayout:
            lastVisibleItemPosition = ((LinearLayoutManager) layoutManager).findLastVisibleItemPosition();
            break;
        case GridLayout:
            lastVisibleItemPosition = ((GridLayoutManager) layoutManager).findLastVisibleItemPosition();
            break;
        case StaggeredGridLayout:
            StaggeredGridLayoutManager staggeredGridLayoutManager = (StaggeredGridLayoutManager) layoutManager;
            if (lastPositions == null) {
                lastPositions = new int[staggeredGridLayoutManager.getSpanCount()];
            }
            staggeredGridLayoutManager.findLastVisibleItemPositions(lastPositions);
            lastVisibleItemPosition = findMax(lastPositions);
            break;
    }

}
 
开发者ID:zuoni1018,项目名称:CoordinatorLayoutExample-master,代码行数:38,代码来源:EndlessRecyclerOnScrollListener.java

示例11: configRecycleView

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
 * 配置recycleview
 *
 * @param recyclerView
 * @param layoutManager
 */
private void configRecycleView(RecyclerView recyclerView, RecyclerView.LayoutManager layoutManager) {
    recyclerView.setLayoutManager(layoutManager);
    //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能
    recyclerView.setHasFixedSize(true);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    mSwipeRefreshLayout.setProgressViewOffset(false, -200, -200);
    mSwipeRefreshLayout.setRefreshing(false);
}
 
开发者ID:Zyj163,项目名称:yyox,代码行数:15,代码来源:UserRecordActivity.java

示例12: isLastSpan

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public boolean isLastSpan(int itemPosition, RecyclerView parent) {
    RecyclerView.LayoutManager layoutManager = parent.getLayoutManager();
    if (layoutManager instanceof GridLayoutManager) {
        int spanCount = ((GridLayoutManager) layoutManager).getSpanCount();
        if ((itemPosition + 1) % spanCount == 0)
            return true;
    }
    return false;
}
 
开发者ID:GitLqr,项目名称:MaterialDesignDemo,代码行数:10,代码来源:MyDecorationTwo.java

示例13: getVisibleItemCount

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public int getVisibleItemCount(){
    RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();
    //only LinearLayoutManager can find last visible
    if(layoutManager instanceof LinearLayoutManager){
        LinearLayoutManager linearManager = (LinearLayoutManager) layoutManager;
        int firstPosition = linearManager.findFirstVisibleItemPosition();
        int lastPosition = linearManager.findLastVisibleItemPosition();
        return lastPosition - firstPosition + 1;
    }else {
        throw new UnsupportedOperationException("only for Linear RecyclerView ");
    }
}
 
开发者ID:ThirtyDegreesRay,项目名称:OpenHub,代码行数:13,代码来源:ListFragment.java

示例14: initViews

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
private void initViews(){

        recyclerView.setHasFixedSize(true);
        RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity());
        recyclerView.setLayoutManager(layoutManager);

        ArrayList androidVersions = prepareData();
        DataAdapter adapter = new DataAdapter(getActivity(),androidVersions);
        recyclerView.setAdapter(adapter);

    }
 
开发者ID:Ronak-59,项目名称:Trinity-App,代码行数:12,代码来源:SportsActivity.java

示例15: getLayoutManager

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public RecyclerView.LayoutManager getLayoutManager() {
    return mLayoutManager;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:4,代码来源:EndlessRecyclerOnScrollListener.java


注:本文中的android.support.v7.widget.RecyclerView.LayoutManager方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。