Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么视图';s的边距在消失时仍然影响布局?_Android_Android Layout - Fatal编程技术网

Android 为什么视图';s的边距在消失时仍然影响布局?

Android 为什么视图';s的边距在消失时仍然影响布局?,android,android-layout,Android,Android Layout,我有一个LinearLayout和一个FrameLayout内部有一些空白。奇怪的是,即使visibility设置为GONE,内部视图的边距似乎对其周围的元素有影响。这只是在运行时的情况,而不是在IDE的设计时 Android文档说明: 消失-此视图不可见,并且不占用任何空间用于布局 那么,为什么利润率仍然有影响呢 这有什么意义(如果有的话) 最重要的是:我如何实现一个完全消失的视图,并且对它的邻居没有任何影响 当然,您可以在代码中将边距设置为0,但当您必须频繁切换可见性并保持正确的边距时,这确

我有一个
LinearLayout
和一个
FrameLayout
内部有一些空白。奇怪的是,即使
visibility
设置为
GONE
,内部视图的边距似乎对其周围的元素有影响。这只是在运行时的情况,而不是在IDE的设计时

Android文档说明:

消失-此视图不可见,并且不占用任何空间用于布局

  • 那么,为什么利润率仍然有影响呢
  • 这有什么意义(如果有的话)
  • 最重要的是:我如何实现一个完全消失的视图,并且对它的邻居没有任何影响
  • 当然,您可以在代码中将边距设置为0,但当您必须频繁切换可见性并保持正确的边距时,这确实很不方便

    以下是布局文件:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/cardLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    
    
        <LinearLayout
            android:id="@+id/cardContentStack"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true">
    
            <ImageView
                android:id="@+id/cardImageLarge"
                android:layout_width="match_parent"
                android:layout_height="@dimen/card_image_big_height"
                android:layout_marginBottom="@dimen/card_image_big_bottom_margin"
                android:layout_marginLeft="@dimen/margin_base"
                android:layout_marginRight="@dimen/margin_base"
                android:visibility="gone"
                tools:src="@drawable/some_image"
                tools:visibility="visible" />
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">
    
                <FrameLayout
                    android:id="@+id/cardImageWrapper"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:layout_marginLeft="@dimen/margin_base">
    
                    <ImageView
                        android:id="@+id/cardImage"
                        android:layout_width="@dimen/card_image_size"
                        android:layout_height="@dimen/card_image_size"
                        android:visibility="gone"
                        tools:src="@drawable/some_image2"
                        tools:visibility="visible" />
    
                    <ImageView
                        android:id="@+id/cardImageSmall"
                        android:layout_width="@dimen/card_image_small_size"
                        android:layout_height="@dimen/card_image_small_size"
                        android:layout_margin="@dimen/margin_base"
                        android:visibility="gone"
                        tools:src="@drawable/some_image3"
                        tools:visibility="visible" />
    
                </FrameLayout>
    
                <LinearLayout
                    android:id="@+id/cardBodyContainer"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">
    
                    <LinearLayout
                        android:id="@+id/cardTextContainer"
                        android:layout_width="match_parent"
                        android:layout_height="0dp"
                        android:layout_weight="1"
                        android:orientation="vertical"
                        android:paddingBottom="@dimen/margin_base"
                        android:paddingRight="@dimen/margin_base"
                        android:paddingTop="@dimen/card_title_top_margin">
    
                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:orientation="horizontal">
    
                            <com.company.android.text.textview.BodyMedium
                                android:id="@+id/cardTitle"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                android:textColor="@color/midnight"
                                tools:text="Michele Theisen" />
    
                            <FrameLayout
                                android:id="@+id/cardTitleRightSpacer"
                                android:layout_width="@dimen/card_title_right_spacer"
                                android:layout_height="match_parent"
                                android:layout_weight="1"
                                android:visibility="gone"
                                tools:visibility="visible">
    
                            </FrameLayout>
                        </LinearLayout>
    
                        <com.company.android.text.textview.BodyLittle
                            android:id="@+id/cardBody"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="@dimen/card_title_top_margin"
                            android:layout_weight="1"
                            android:ellipsize="end"
                            android:maxLines="2"
                            android:textColor="@color/twilight"
                            android:visibility="gone"
                            tools:text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text"
                            tools:visibility="visible" />
                    </LinearLayout>
    
                    <LinearLayout
                        android:id="@+id/cardButtonContainer"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="right"
                        android:orientation="horizontal"
                        android:paddingBottom="@dimen/margin_small"
                        android:paddingLeft="@dimen/margin_small"
                        android:paddingRight="@dimen/margin_small"
                        android:visibility="gone"
                        tools:visibility="visible">
    
                        <com.company.views.materialstextviews.CardButton
                            android:id="@+id/cardSecondaryButton"
                            android:layout_width="0dp"
                            android:layout_height="@dimen/card_action_button_height"
                            android:layout_marginRight="@dimen/margin_small"
                            android:layout_weight="1"
                            android:background="?android:attr/selectableItemBackground"
                            android:maxLines="1"
                            android:paddingLeft="@dimen/margin_xs"
                            android:paddingRight="@dimen/margin_xs"
                            android:singleLine="true"
                            android:textColor="@color/twilight"
                            android:visibility="gone"
                            tools:text="BUTTON TEXT MIGHT BE LONG"
                            tools:visibility="visible" />
    
                        <com.company.views.materialstextviews.CardButton
                            android:id="@+id/cardPrimaryButton"
                            android:layout_width="wrap_content"
                            android:layout_height="@dimen/card_action_button_height"
                            android:background="?android:attr/selectableItemBackground"
                            android:ellipsize="end"
                            android:maxLines="1"
                            android:paddingLeft="@dimen/margin_xs"
                            android:paddingRight="@dimen/margin_xs"
                            android:singleLine="true"
                            android:textColor="@color/green"
                            android:visibility="visible"
                            tools:text="BUTTON TEXT"
                            tools:visibility="visible" />
    
                    </LinearLayout>
    
                </LinearLayout>
    
            </LinearLayout>
    
        </LinearLayout>
    
        <ImageView
            android:id="@+id/cardCloseButton"
            android:layout_width="@dimen/card_close_button_size"
            android:layout_height="@dimen/card_close_button_size"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:background="@drawable/ic_card_close"
            android:clickable="true"
            android:foreground="?android:attr/selectableItemBackground" />
    
    
    </RelativeLayout>
    
    
    

    cardImageWrapper
    是导致问题的视图。

    能否发布layout.xml文件。我还想说,边距应该与视图一起消失。你试过用填充代替边距吗?@KevinLEGOFF好的,我添加了布局file@Larpee在某些情况下,我使用负边距,这是我无法用填充物实现的。