列表视图元素高度

时间:2016-04-25 19:25:53

标签: android listview android-adapter

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

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

<Button
    android:id="@+id/time_field"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    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_width="match_parent"
    android:layout_height="wrap_content"
    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),但左按钮中的文字始终位于顶部。

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

请帮我克服这个!谢谢!

1 个答案:

答案 0 :(得分:1)

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