以编程方式设置android设置布局

时间:2015-12-28 05:31:04

标签: android android-linearlayout whitespace

enter image description here

我有一个布局,我有一个名为Facilities的textView,下面是它的细节。细节嵌入在linearlayout1中。它是另一个linearlayout2。当我点击一个按钮时,linearlayout1的可见性将消失,但问题是它留下了一个空格。我想在linearlayout1下面的布局占据空白。有一种方法可以在点击按钮时以编程方式将linearlayout2设置在linearlayout1下面。

mascotlayot.xml:

 <RelativeLayout
            android:id="@+id/linear1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/button4"
            android:layout_marginTop="300dp"
            android:orientation="vertical"

            >

            <TextView
                android:id="@+id/text2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="10dp"
                android:text="Facilities"
                android:textColor="#37474F"
                android:textSize="25sp" />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:background="@android:drawable/arrow_down_float"
                android:id="@+id/up"
                android:layout_alignParentRight="true"

                />
            </RelativeLayout>
            <LinearLayout
                android:id="@+id/linear2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:layout_below="@+id/linear1">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image24"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/text2"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"

                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text2"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image24"
                    android:text="Ayurveda therapies"

                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image67"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image24"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text32"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text3"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image67"
                    android:text="Wi-fi facility"

                    android:textColor="#000000">

                </TextView>
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image68"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image67"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text33"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text32"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image67"
                    android:text="Coffee Shop"

                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image69"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image68"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text34"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text33"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image69"
                    android:text="Restaurant"

                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image70"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image69"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text35"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text34"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image70"
                    android:text="Banquet and Conference halls"

                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image71"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image70"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text36"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text35"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image71"
                    android:text="Bar"

                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image72"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image71"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text37"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text36"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image72"
                    android:text="Swimming Pool"

                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image73"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image72"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text38"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text37"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image73"
                    android:text="Ayurvedic Centres"

                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image74"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image73"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text39"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text38"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image74"
                    android:text="Health Club"


                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image75"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image74"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text40"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text39"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image73"
                    android:text="Travel Assistance"
                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image76"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image75"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text41"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text40"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image76"
                    android:text="Car Hire"

                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image77"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image76"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text42"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text41"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image77"
                    android:text="Laundry"
                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image78"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image77"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text43"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text42"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image78"
                    android:text="Doctor-on-call"

                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image79"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image78"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text44"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text43"
                    android:layout_marginLeft="10dp"
                    android:layout_toRightOf="@+id/image79"
                    android:text="Currency Exchange"

                    android:textColor="#000000" />
            </LinearLayout>
            </LinearLayout>


        <LinearLayout
            android:id="@+id/linear3"
            android:layout_width="match_parent"
            android:layout_height="160dp"
            android:layout_below="@+id/linear2"
            android:orientation="vertical"

            >

            <TextView
                android:id="@+id/text19"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="30dp"
                android:text="Attractions"
                android:textColor="#37474F"
                android:textSize="25sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image16"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:layout_toLeftOf="@+id/text20"
                    android:background="#90000000"

                    />

                <TextView
                    android:id="@+id/text20"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text19"
                    android:layout_marginLeft="10dp"
                    android:text="Kerala Legislature Complex"
                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image17"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/text19"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text21"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text20"
                    android:layout_marginLeft="10dp"
                    android:text="Science and Technology Museum Complex"
                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/image18"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/image17"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="4dp"
                    android:background="#90000000" />

                <TextView
                    android:id="@+id/text22"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/text21"
                    android:layout_marginLeft="10dp"
                    android:text="Priyadarshini Planetarium"
                    android:textColor="#000000" />
            </LinearLayout>

MascotFragment.java:

 linear=(LinearLayout) v.findViewById(R.id.linear2);
             linear.setVisibility(View.INVISIBLE);

             imageView=(ImageView)v.findViewById(R.id.up);
             linear3=(LinearLayout) v.findViewById(R.id.linear3);


    int i=1;
     imageView.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {
                     if ((i % 2)!=0) {

                         imageView.setImageDrawable(getResources().getDrawable(android.R.drawable.arrow_up_float));
                         linear.setVisibility(View.VISIBLE);

                     }
                     else{

                         imageView.setImageDrawable(getResources().getDrawable(android.R.drawable.arrow_down_float));
                         linear.setVisibility(View.INVISIBLE);


                         if(i==10){
                             i=0;
                         }
                     }
                     i++;

                 }
             });

2 个答案:

答案 0 :(得分:1)

将View.INVISIBLE更改为View.GONE,如下所示:

linear.setVisibility(View.GONE);

VIEW.INVISIBLE视图不可见,但它仍占用空间用于布局目的 VIEW.GONE不占用任何空间用于布局。

答案 1 :(得分:0)

您应该考虑使用片段。这是一个很好的资源 https://guides.codepath.com/android/Creating-and-Using-Fragments#fragment-with-arguments