コード例 #1
0
  @Override
  protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle(null);
    RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler);
    LinearLayoutManager layoutManager = new LinearLayoutManager(this);
    layoutManager.setSmoothScrollbarEnabled(true);
    assert recyclerView != null;
    recyclerView.addItemDecoration(
        new RecyclerView.ItemDecoration() {
          @Override
          public void getItemOffsets(
              Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
            final int padding = getResources().getDimensionPixelOffset(R.dimen.padding_half);
            RecyclerView.LayoutParams layoutParams =
                (RecyclerView.LayoutParams) view.getLayoutParams();
            final int position = layoutParams.getViewLayoutPosition();
            if (position == 0) {
              outRect.left = outRect.top = outRect.right = padding;
              outRect.bottom = padding >> 1;
            } else if (position == state.getItemCount() - 1) {
              outRect.left = outRect.bottom = outRect.right = padding;
              outRect.top = padding >> 1;
            } else {
              outRect.left = outRect.right = padding;
              outRect.top = outRect.bottom = padding >> 1;
            }
          }
        });
    recyclerView.setLayoutManager(layoutManager);
    Adapter adapter = new Adapter();
    recyclerView.setAdapter(adapter);
    adapter.addViewHolderType(
        ViewHolder.VIEW_HOLDER_HEADER,
        ViewHolder.VIEW_HOLDER_LABEL,
        ViewHolder.VIEW_HOLDER_HEADER,
        ViewHolder.VIEW_HOLDER_LOGIN,
        ViewHolder.VIEW_HOLDER_HEADER,
        ViewHolder.VIEW_HOLDER_DOWNLOAD);
  }