如何在 Android 中使用线性布局堆叠两个项目

How to stack two item using Linear Layout in Android

我想在一个线性布局中堆叠两个不同的图表。这是我的代码。我希望当用户选择进度图表时,图表将从 com.github.mikephil.charting.charts.LineChart 转换为 com.example.imed.Progress.CustomCalenderView,反之亦然。

我在 JAVA class 中设置了可见性。然而,问题是,是否可以将这两个不同的图表堆叠在线性布局中?如果是,你能帮我修复下面的代码段吗?
我已经将方向添加到垂直,但这两个图表不会相互堆叠。

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:layout_marginBottom="20dp"
    android:orientation="vertical">

    <com.github.mikephil.charting.charts.LineChart
        android:id="@+id/chart"
        android:layout_width="match_parent"
        android:layout_height="400dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="20dp">
    </com.github.mikephil.charting.charts.LineChart>

    <com.example.imed.Progress.CustomCalenderView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="5dp"
        android:id="@+id/custom_calendar_view">
    </com.example.imed.Progress.CustomCalenderView>

</LinearLayout>

可以的,你只要有下一个表格就可以了

<com.github.mikephil.charting.charts.LineChart
        android:id="@+id/chart"
        android:layout_width="match_wrap"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="20dp">
    </com.github.mikephil.charting.charts.LineChart>


     <com.example.imed.Progress.CustomCalenderView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_wrap"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:id="@+id/custom_calendar_view">
        </com.example.imed.Progress.CustomCalenderView>

CustomCalenderView 不应在 match_parent 的高度

如果您的意思是覆盖 View,那么不,使用 LinearLayout 是不可能的。

为此,您需要使用 FrameLayoutCoordinatorLayoutConstraintLayout

创建 UI 的推荐布局是 ConstraintLayout。它非常灵活,基本上结合了任何其他布局的功能并增加了更多。 请参阅链接文档以了解有关 ConstraintLayout.

的更多信息