使用片段替换布局?

时间:2017-07-17 07:09:13

标签: java android

所有这一切都相对较新,这是另一个值得我感激的noob问题,我一直在努力完成一项新任务。目前,在这个页面上有一个名为Japanese的ImageButton,当点击它时,我希望它用一个显示一些新内容的新布局替换当前的ScrollView布局。毕竟活动应该保持不变,因为我试图只是替换ScrollView布局,不应该吗?我一直在想一种使用片段来实现这一目标的方法,但却不知道如何做到这一点。

我能想到的唯一例子是Spotify的界面,如果你在主页上并点击图片,它会“替换”该布局以显示一些新歌或其他内容,但不会影响底部导航。

到目前为止,我查看了这些视频,但不确定它们是否是正确的解决方案:https://www.youtube.com/watch?v=FF-e6CnBwYY

This is what I'm trying to achieve.

到目前为止,这是我的代码。

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
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"
xmlns:tools="http://schemas.android.com/tools">

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="#000"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <TextView
        android:id="@+id/toolbartitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Home"
        android:textColor="@android:color/white"
        android:textSize="32sp"
        android:textStyle="bold" />

</android.support.v7.widget.Toolbar>

<android.support.design.widget.BottomNavigationView
    android:id="@+id/the_bottom_navigation"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:layout_gravity="bottom"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:menu="@menu/bottomnavigationmenu">

</android.support.design.widget.BottomNavigationView>


<ScrollView
    android:id="@+id/scrollView2"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_marginBottom="75dp"
    android:layout_marginTop="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/toolbar"
    app:layout_constraintVertical_bias="0.0">

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"> 

     [content here]

    </android.support.constraint.ConstraintLayout>
</ScrollView>

1 个答案:

答案 0 :(得分:0)

嗨所以我建议使用片段来实现这一目标。 为每个视图创建一个主活动,然后创建2个不同的片段。 看看这里:https://developer.android.com/guide/components/fragments.html

如果您需要一些代码示例,请与我们联系。