列表视图元素高度[重复]

Posted

技术标签:

【中文标题】列表视图元素高度[重复]【英文标题】:List view element height [duplicate] 【发布时间】:2016-08-19 08:43:56 【问题描述】:

我有以下问题。我的列表视图元素由两个排成一行的按钮组成:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/item_layout"
android:layout_
android:layout_
android:paddingBottom="5dp">

<Button
    android:id="@+id/time_field"
    android:layout_
    android:layout_
    android:layout_alignBottom="@+id/task_field"
    android:layout_alignTop="@+id/task_field"
    android:layout_centerVertical="true"
    android:layout_marginEnd="5dp"
    android:layout_marginRight="5dp"
    android:clickable="false"
    android:enabled="true"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:longClickable="false"
    android:paddingLeft="2dp"
    android:paddingRight="2dp"
    android:textColor="@color/black_col" />

<Button
    android:id="@+id/task_field"
    android:layout_
    android:layout_
    android:layout_centerVertical="true"
    android:layout_toEndOf="@+id/time_field"
    android:clickable="false"
    android:enabled="true"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:gravity="center|start"
    android:longClickable="false"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"/>

所以在应用程序中发生的情况是,第二个(右)按钮被(由用户)填充的文本可以是 2 行、3 行甚至更多行,而左按钮中的文本总是单行。所以,我想要的是让第一个(左)按钮的高度始终与右一个按钮的高度相同,这取决于文本行的数量。左侧按钮中的文本行也应该在中心。

现在我只能制作等高的按钮(使用 layout_alignBottom 和 layout_alignTop),但左侧按钮中的文本始终位于顶部。

据我了解,这是由于在设置高度后完成列表视图项的渲染而发生的,但我不知道如何克服这个问题。我试图在我的列表视图适配器中以编程方式将左按钮高度设置为等于右按钮的高度,但它仅在我点击列表视图项而不是在填充或滚动列表时才有帮助!

请帮助我克服这个问题!谢谢!

【问题讨论】:

还可以尝试设置layout_height = match_parent 而不是wrap_content,那么它将尊重您设置的上下边界并确保time_field 按钮占用与task_field 按钮。 【参考方案1】:

因此没有本地方法来调整文本视图的大小。但是您可以在Auto Scale TextView Text to Fit within Bounds 上找到有用的实现 或者您可以调整文本大小以适应范围。看看这个以获得更多帮助How to adjust text font size to fit textview

【讨论】:

以上是关于列表视图元素高度[重复]的主要内容,如果未能解决你的问题,请参考以下文章

两个ListView(元素高度不同)滚动定位

在 Flutter 的垂直列表中添加动态高度水平列表视图

在ListView中动态更新列表元素高度

如何使用列表视图在选项卡式活动的片段中呈现 SQLite 表数据 [重复]

javascript - 检查表行是不是在视图中[重复]

Android自定义View之上拉下拉列表 头部元素跟随 缩放平移效果的实现