我正在做我的项目,我正在尝试做1 activity
,其他人将是fragment
。但我现在面临的问题是,在我activity_main.xml
中实施<FrameLayout>
后,activity_main.xml
的主要内容并未像往常一样显示。
但问题是片段活动正在显示而不是主要活动内容。 有人可以给我一些关于实现片段的正确方法的例子,并且可以同时运行片段和活动吗?
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<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/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="@dimen/detail_backdrop_height"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:expandedTitleTextAppearance="@android:color/transparent"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/backdrop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax" />
</RelativeLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frameLayout"
android:background="@drawable/login_background">
</FrameLayout>
</android.support.design.widget.CoordinatorLayout>
PS 抱歉迟到编辑。这是我工作的截图。
这是在添加<FrameLayout>
之前,一切看起来都不错:
这是在添加<FrameLayout>
之后隐藏了活动:
答案 0 :(得分:1)
试试这个
<FrameLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/viewPage"
android:background="YOUR_BACKGROUND_COLOR">
...
...
</FrameLayout>
将其作为coordinatorLayout
答案 1 :(得分:0)
您的布局问题是您的FrameLayout正在填充您的活动布局。
您可以通过添加根布局来修复它,根据您的contain_main
确定FrameLayout的位置。像这样:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
...>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent>
<include layout="@layout/content_main"
android:id="@+id/content_main_ly"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frameLayout"
android:layout_below="@+id/content_main_ly"
android:background="@drawable/login_background">
</FrameLayout>
</RelativeLayout>
</android.support.design.widget.CoordinatorLayout>
您需要确保content_main的位置在activity_main.xml
中,以便始终高于或显示。尝试将CoordinatorLayout
内的所有视图移至RelativeLayout
或LinearLayout
。