感谢您抽出宝贵时间阅读和帮助,
我的android应用程序在按钮的线性垂直布局中有4个按钮,经过一段时间的使用,我想在中间剪切线性布局高度并插入另一个包含4个按钮的布局,因此会有在彼此之上的buttom 2布局中
在应用程序开始时,我希望按钮出现在图片显示中(我已经实现了这个)
过了一段时间后,我想改变旧的布局,在中间切割它的高度,并添加另一个布局,下面还有另外4个按钮,所以它出现了:
答案 0 :(得分:0)
考虑使用" GONE
" View
对象的属性。例如。 button.setVisibility(View.GONE);
基本上,您可以将所有按钮添加到一起,并将可见性状态更改为" GONE
"当你不想要那个展示时。
" GONE
"之间的主要区别vs" INVISIBLE
"就是这样," GONE
"不会占用布局的空间。但是,INVISIBLE
在绘制布局时仍会占用空间。
答案 1 :(得分:0)
您可以创建两个LinearLayouts
假设LinearLayout1
是您想要首先显示的那个。
将它们放在相对布局中并放在LinearLayout1
put layout_above="+id/linearlayout2"
属性中。
LinearLayout2
默认设置为xml
,因此linearLayout1
会占用底部的空格,当您想要显示LinearLayout
时,动态设置为可见。有我吗?
答案 2 :(得分:0)
请尝试以下xml
布局。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="100dp"
android:orientation="vertical"
android:layout_alignParentBottom="true">
<LinearLayout
android:orientation="horizontal"
android:id="@+id/top_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#00ff00">
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:id="@+id/bottom_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#ff0000"
android:visibility="visible">
</LinearLayout>
</LinearLayout>
</RelativeLayout>
我已将高度硬编码为100dp
。您可以将值设置为活动中代码的百分比高度。即:根据屏幕高度计算特定高度。
我没有使用按钮进行演示。您可以将底部布局的可见性更改为gone
,并查看顶部布局如何增长。您可以尝试使用此代码。