Я делаю свой проект, и я пытаюсь сделать как 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>, за которым скрывается активность:
@Aquaballin проверь еще раз. что не так с моим вопросом?
Проблема с вашим макетом заключается в том, что FrameLayout заполняет макет вашей активности.
Вы можете исправить это, добавив корневой макет, который определяет положение FrameLayout в соответствии с вашим contain_main. Что-то вроде этого:
<?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.
переместить весь вид (в моем случае), то есть AppBarLayout, CollapsingToolbarLayout и все такое? а внутри пустой RelativeLayout как этот <RelativeLayout android:layout_width = "match_parent" android:layout_height = "match_parent>?
Что-то вроде того. Вам нужно это проверить.
Попробуйте набросать свой дизайн и добавить его в свой вопрос, чтобы все знали, какой интерфейс вы ожидаете.
Нет проблем, не нужно сожалеть об этом;)
Мне интересно, не могу ли я решить эту проблему, это хороший способ для меня использовать активность для замены всей моей активности фрагмента вместо использования фрагмента.
попробуй это
<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
ЧТО FCK. спасибо .. вот что я так долго искал. БЛАГОДАРНОСТЬ
вы можете отредактировать вопрос и включить xml?