我正在尝试向我的片段广告一个晶圆厂,但它隐藏在导航栏后面。问题是出现的布局对他的活动感兴趣,滚动行为设置为我附加片段的框架布局。如何将此行为添加到片段中的回收器视图,而无需将工具栏添加到片段。这是因为我有很多片段,只有一个活动
Navigation_drawer_layout
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="close">
<android.support.design.widget.CoordinatorLayout
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:theme="@style/NavigationDrawerStyle"
app:itemIconTint="@color/PrimaryPurple"
app:menu="@menu/activity_dasboard_drawer" />
</android.support.v4.widget.DrawerLayout>
fragment_layout
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.v7.widget.RecyclerView
android:id="@+id/food_queue_recycle_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/title_white" />
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view_no_items"
android:layout_width="350dp"
android:layout_height="200dp"
android:layout_centerInParent="true"
android:visibility="gone"
card_view:cardCornerRadius="2dp"
card_view:cardElevation="4dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ImageView
android:id="@+id/errorImageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:contentDescription="@string/empty_favourite_list"
android:src="@drawable/food_icon_empty" />
<TextView
android:id="@+id/errorTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/errorImageView"
android:layout_marginTop="@dimen/large_text_size"
android:gravity="center"
android:text="@string/empty_favourite_list"
android:textAllCaps="true"
android:textColor="@color/SecondaryBlack"
android:textSize="@dimen/medium_text_size"
android:textStyle="bold" />
</RelativeLayout>
</android.support.v7.widget.CardView>
</RelativeLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/action_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_mode_edit_48px"
app:backgroundTint="@color/PrimaryPurple"
app:layout_anchor="@id/food_queue_recycle_list"
app:layout_anchorGravity="bottom|right|end"
app:layout_behavior="helpers.FABCoordinatorBehavior" />
</android.support.design.widget.CoordinatorLayout>
答案 0 :(得分:3)
只需将FloatingActionButton
放在该主布局上,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="close">
<android.support.design.widget.CoordinatorLayout
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/action_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_mode_edit_48px"
app:backgroundTint="@color/PrimaryPurple"
app:layout_anchor="@id/food_queue_recycle_list"
app:layout_anchorGravity="bottom|right|end"
app:layout_behavior="helpers.FABCoordinatorBehavior" />
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:theme="@style/NavigationDrawerStyle"
app:itemIconTint="@color/PrimaryPurple"
app:menu="@menu/activity_dasboard_drawer" />
</android.support.v4.widget.DrawerLayout>
然后在RecyclerView
:
Fragment
<RelativeLayout 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"
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.v7.widget.RecyclerView
android:id="@+id/food_queue_recycle_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/title_white" />
<!-- not sure about this, but, it shouldn't be here -->
<!--<android.support.v7.widget.CardView
android:id="@+id/card_view_no_items"
android:layout_width="350dp"
android:layout_height="200dp"
android:layout_centerInParent="true"
android:visibility="gone"
card_view:cardCornerRadius="2dp"
card_view:cardElevation="4dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ImageView
android:id="@+id/errorImageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:contentDescription="@string/empty_favourite_list"
android:src="@drawable/food_icon_empty" />
<TextView
android:id="@+id/errorTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/errorImageView"
android:layout_marginTop="@dimen/large_text_size"
android:gravity="center"
android:text="@string/empty_favourite_list"
android:textAllCaps="true"
android:textColor="@color/SecondaryBlack"
android:textSize="@dimen/medium_text_size"
android:textStyle="bold" />
</RelativeLayout>
</android.support.v7.widget.CardView>-->
</RelativeLayout>
我不确定CardView
,因为您将RecyclerView
设置为match_parent
:
<android.support.v7.widget.RecyclerView
android:id="@+id/food_queue_recycle_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/title_white" />
所以,通过将unless you need to show it as error cards
设置为setVisibility
,这些卡片不应该在那里。GONE
并在此之后,处理是否有错误,请按以下方式显示:setVisibility
== View.VISIBLE
。