小编Eug*_*e H的帖子

RecyclerView使用下面的视图滑动

我一直在做一些研究,我还没有找到一个示例或实现,允许您在刷卡时将视图(下面的示例图像)放在RecyclerView下面.有没有人有任何关于如何在使用库的情况下实现它的示例或想法.

这是我如何实现轻扫以解雇.

ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {

    @Override
    public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
        return false;
    }

    @Override
    public int getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
        return super.getSwipeDirs(recyclerView, viewHolder);
    }

    @Override
    public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
        if (viewHolder instanceof ViewDividers) {
            Log.e("DIRECTION", direction + "");
        }
    }
};
new ItemTouchHelper(simpleItemTouchCallback).attachToRecyclerView(recycler);
Run Code Online (Sandbox Code Playgroud)

以下是Google收件箱的示例: 在此输入图像描述

android android-recyclerview

45
推荐指数
3
解决办法
4万
查看次数

CollapsingToolbarLayout和NestedScrollView无法正常工作

我正在尝试使用NestedScrollView实现CollapsingToolbarLayout,它在底部的NestedScrollView中显示TextView,不允许,滚动或折叠工具栏.我已经使用了RecyclerView而不是NestedScrollView.当我删除app:layout_behavior="@string/appbar_scrolling_view_behavior工具栏折叠但NestedScrollView不在AppBarLayout之下时.有任何解决方案或建议来解决这个问

XML

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="Hello"
                android:textColor="#000"
                android:textSize="16sp"/>
        </LinearLayout>
    </android.support.v4.widget.NestedScrollView>

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:id="@+id/backdrop"
                android:layout_width="match_parent"
                android:layout_height="134dp"
                android:background="@color/primary"
                app:layout_collapseMode="parallax"/>

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"/>
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

结果

在此输入图像描述

android android-design-library androiddesignsupport android-collapsingtoolbarlayout

11
推荐指数
1
解决办法
1万
查看次数

在RecyclerView中创建部分

我已经与listviews合作了一段时间,当我开始理解它们时,他们推出了recyclerview.我有一个包含所有项目的简单工作示例.我想使用相同的布局在recyclerview中创建部分.例如,每个部分都按数据(早餐,午餐,晚餐)进行过滤.我如何在recyclerview中创建部分?如果您需要更多信息,或者认为这是一个糟糕的问题,我会更新我的问题或提供更多代码.

我如何通过早餐,午餐和晚餐过滤适配器:

FoodAdapter mAdapterBreakfast = new FoodAdapter(LogSet.filterBy("Breakfast"), R.layout.row, this);
FoodAdapter mAdapterLunch = new FoodAdapter(LogSet.filterBy("Lunch"), R.layout.row, this);
FoodAdapter mAdapterDinner = new FoodAdapter(LogSet.filterBy("Dinner"), R.layout.row, this);
Run Code Online (Sandbox Code Playgroud)

我如何获得适配器中的所有项目:

FoodAdapter mAdapter = new FoodAdapter(LogSet.all(), R.layout.row, this);
Run Code Online (Sandbox Code Playgroud)

以下是所有的工作示例:

适配器

public class FoodAdapter extends RecyclerView.Adapter<FoodAdapter.ViewHolder> {
    private List<LogSet> meals;
    private int rowLayout;
    private Context mContext;
    View v;

    public FoodAdapter(List<LogSet> mMeals, int rowLayout, Context context) {
        this.meals = mMeals;
        this.rowLayout = rowLayout;
        this.mContext = context;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        v = LayoutInflater.from(viewGroup.getContext()).inflate(rowLayout, viewGroup, …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

6
推荐指数
1
解决办法
1万
查看次数

设计库TabLayout,滚动后选项卡指示器弹跳

编辑最新的设计库解决了这个问题

编译'com.android.support:design:+'


我与工作TabLayout在两种情况下,PagerAdapter和FragmentStatePagerAdapter.在这两种情况下,当在页面之间滑动时,选项卡指示器会弹跳.单击选项卡以更改页面时,选项卡指示器不会反弹.

我不确定这是否是我的错误,这是一个已知问题,或指南的一部分.如果您需要更多代码,或者我将发布其他示例.

FragmentStatePagerAdapter

    mViewPager.setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) {
        @Override
        public Fragment getItem(int position) {
            LogMeal log = mLogMealAdapter.getItem(position);
            return MealViewFragment.newInstance(log.getId());
        }

        @Override
        public CharSequence getPageTitle(int position) { // Tab text
            LogMeal logMeal1 = mLogMealAdapter.getItem(position);
            String s;
            if (logMeal1.getMealName().toString().trim().length() > 12) {
                s = logMeal1.getMealName().substring(0, 12) + "..";
            } else {
                s = logMeal1.getMealName();
            }
            return s;
        }

        @Override
        public int getCount() {
            return mLogMealAdapter.getCount();
        }
    });

    tabs.setTabTextColors(Color.parseColor("#80ffffff"), Color.parseColor("#ffffff"));
    if (mLogMealAdapter.getCount() == 1) {
        tabs.setTabMode(TabLayout.MODE_FIXED);
    } else {
        tabs.setTabMode(TabLayout.MODE_SCROLLABLE); …
Run Code Online (Sandbox Code Playgroud)

android android-tabs android-design-library

5
推荐指数
1
解决办法
2891
查看次数

Android设计支持库:FloatingActionButon(FAB)在早期版本的android上正确显示,在Lollipop上显示不正确

我添加了Android设计支持库.我正在使用两个模拟器测试应用程序,运行Lollipop和Jellybean.Jellybean版本正确显示FAB.在Lollipop版本上,FAB没有高程或边距.有关解决此问题的任何建议吗?

下面我发布了布局,活动和两个显示差异的图像.如果您需要更多代码,请告诉我,我会发布.

注意:我删除了大部分与问题无关的代码.

布局

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/mainLayout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="56dp"
            android:background="@color/primary"
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>

        <ImageView
            android:id="@+id/imShadow"
            android:layout_width="match_parent"
            android:layout_height="10dp"
            android:layout_below="@+id/toolbar"
            android:background="@drawable/toolbar_shadow"
            android:orientation="vertical"/>
    </RelativeLayout>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:src="@mipmap/ic_search"/>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

活动

public class MainActivity extends AppCompatActivity {

    private Toolbar toolbarMain;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        iniToolbarMain();
        setSupportActionBar(toolbarMain);


        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        final CoordinatorLayout coordinatorLayout = (CoordinatorLayout) findViewById(R.id.mainLayout);

        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Snackbar.make(coordinatorLayout, "Hello World!", …
Run Code Online (Sandbox Code Playgroud)

android androiddesignsupport

1
推荐指数
1
解决办法
920
查看次数