android:layout_alignParentBottom在运行时不起作用

潘文林

我使用android:layout_alignParentBottom的向下箭头ImageViewRelativeLayout的每个项目RecyleView
但是它只能在Preview模式下完美运行,当我运行应用程序时它不起作用。我不知道为什么会这样。
我已经在屏幕截图中说明了有关我的问题的更多信息

在预览中在运行时
在此处输入图片说明

在此处输入图片说明

 <android.support.v7.widget.CardView
        android:id="@+id/cv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

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

            <LinearLayout
                android:id="@+id/item_layoutStart"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#E8F5E9"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:layout_gravity="center_vertical|right"
                    android:clickable="true"
                    android:scaleType="fitCenter"
                    android:src="@mipmap/ic_launcher" />

                <ImageView
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:layout_gravity="center_vertical|right"
                    android:clickable="true"
                    android:scaleType="fitCenter"
                    android:src="@mipmap/ic_launcher" />
                <ImageView
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:layout_gravity="center_vertical|right"
                    android:clickable="true"
                    android:scaleType="fitCenter"
                    android:src="@mipmap/ic_launcher" />
                <TextView
                    android:id="@+id/item_tvRepeatTime"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:text="10" />
            </LinearLayout>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff0"
                android:layout_alignTop="@id/item_layoutStart"
                android:layout_alignBottom="@id/item_layoutStart"
                android:orientation="vertical"
                android:layout_toRightOf="@id/item_layoutStart">
                <TextView
                    android:id="@+id/item_tvTitle"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="aa aa aaaaaa aa aa aaaaaa aa aa aaaaaa " />
                <TextView
                    android:id="@+id/item_tvResult"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/item_tvTitle"
                    android:text="aa aa aaaaaa aa aa aaaaaa aa aa aaaaaa" />
                <ImageView android:id="@+id/item_ivExpand"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:layout_alignParentRight="true"
                    android:layout_alignParentBottom="true"
                    android:padding="3dp"
                    android:src="@drawable/selector_arrow_down"/>
            </RelativeLayout>
        </RelativeLayout>
    </android.support.v7.widget.CardView>

更新如果我RelativeLayout通过特定值固定高度,则android:layout_alignParentBottom 工作

 <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="200dp"
 > 

但就我而言,我希望RelativeLayout身高等于LinearLayout

<RelativeLayout
                android:layout_alignTop="@id/item_layoutStart"
                android:layout_alignBottom="@id/item_layoutStart"
               >

android:layout_alignParentBottom 不行

任何帮助将不胜感激

迈克·M

Though this solution apparently messes with the way the layout looks in the editor, it solves the problem of the runtime layout.

First, change the outer RelativeLayout to a LinearLayout. Then, on the inner RelativeLayout, remove the layout_alignTop and layout_alignBottom attributes altogether, and set the layout_height to match_parent.

As you can see in the posted screenshots, that ImageView was being laid out as though its parent RelativeLayout's height was wrapping its child Views, as per its layout_height setting. However, after the RelativeLayout's child Views were laid out, its layout_alignTop and layout_alignBottom attributes were being applied, and it was resized to match the LinearLayout's height, but that ImageView just stayed where it was.

通过将aLinearLayout用作外部对象ViewGroup,并将内部RelativeLayout的高度设置match_parent,在RelativeLayout布局其子Views之前,先应用一个确定的高度,并且ImageViewlayout_alignParentRightlayout_alignParentBottom属性将其放置在正确的位置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

wpf 控制模板在运行时不起作用

动画正在运行时,OnClick不起作用

Android请求运行时权限不起作用

Xamarin Android请求运行时权限不起作用

SwitchCompat setTextOn() 和 setTextOff() 在运行时不起作用

C#复制到剪贴板在运行时不起作用

在运行时为Chromium提供API密钥不起作用

在运行时创建dll文件在C#中不起作用

在运行时获取类的通用类型不起作用

在运行时更新表名不起作用-laravel Eloquent ORM

在运行时渲染DOM在Dojox中不起作用

WPF在运行时窗口边距不起作用

当地图正在运行时,React中的过滤器方法不起作用

DotVVM在运行时从Panel组件更改CssStyle属性不起作用

具有记录类型的 Typeinfo 在运行时不起作用

Sub在运行时起作用,但在调用时却不起作用?“范围类的选择方法失败”

将日期插入表变量在SSMS中不起作用,但在运行时起作用

设置文本对齐方式listboxitem Delphi XE5 FM在运行时不起作用

在 C++ 中嵌入使用 Numpy 的 Python 在运行时动态加载的库中不起作用

Android:具有layout_alignParentBottom的RelativeLayout translationY动画

eslint --fix在npm上运行时不起作用

在pycharm中运行时子进程不起作用

运行时权限在实际设备上不起作用

运行时 eval() 中的 jQuery 不起作用

通过PHP运行时,节点不起作用

CUDA设备运行时API cudaMemsetAsync不起作用

java protobuf运行时正式示例不起作用

运行时间:schedule-event 不起作用

从远程脚本运行时查找不起作用