在中间剪切布局并在

时间:2016-04-16 17:22:45

标签: android android-layout

感谢您抽出宝贵时间阅读和帮助,

我的android应用程序在按钮的线性垂直布局中有4个按钮,经过一段时间的使用,我想在中间剪切线性布局高度并插入另一个包含4个按钮的布局,因此会有在彼此之上的buttom 2布局中

在应用程序开始时,我希望按钮出现在图片显示中(我已经实现了这个)

Layout and buttons

过了一段时间后,我想改变旧的布局,在中间切割它的高度,并添加另一个布局,下面还有另外4个按钮,所以它出现了:

Layout and buttons after

3 个答案:

答案 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,并查看顶部布局如何增长。您可以尝试使用此代码。