我一直在做一些研究,我还没有找到一个示例或实现,允许您在刷卡时将视图(下面的示例图像)放在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)
我正在尝试使用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
我已经与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) 编辑最新的设计库解决了这个问题
编译'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设计支持库.我正在使用两个模拟器测试应用程序,运行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)