如何在 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
是不可能的。
为此,您需要使用 FrameLayout
、CoordinatorLayout
或 ConstraintLayout
。
创建 UI 的推荐布局是 ConstraintLayout
。它非常灵活,基本上结合了任何其他布局的功能并增加了更多。
请参阅链接文档以了解有关 ConstraintLayout
.
的更多信息
我想在一个线性布局中堆叠两个不同的图表。这是我的代码。我希望当用户选择进度图表时,图表将从 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
是不可能的。
为此,您需要使用 FrameLayout
、CoordinatorLayout
或 ConstraintLayout
。
创建 UI 的推荐布局是 ConstraintLayout
。它非常灵活,基本上结合了任何其他布局的功能并增加了更多。
请参阅链接文档以了解有关 ConstraintLayout
.