gpt4 book ai didi

android - 垂直居中文本独立于 View 高度?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:29:24 26 4
gpt4 key购买 nike

我正在尽最大努力使文本垂直居中,但我做不到。问题是我有几行高度为 fill_parent 和 weight=1 的按钮,随着行变小,我的文本开始触及 View 的底部,如下所示:

enter image description here

我尝试删除填充、边距、更改高度等。但似乎什么也做不了。

即使文本大小接近 View 高度,我如何垂直对齐它?

这是包含数字 5 的 View 的代码:

    <Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="5"
android:layout_weight="1"
tools:ignore="HardcodedText"
android:clickable="false"
android:textSize="90dp"
android:textColor="?attr/color1"
android:gravity="center"
android:paddingLeft="@dimen/normal_margin"
android:paddingRight="@dimen/normal_margin"
android:padding="0dp" />

最佳答案

根据我的建议,如果您有两种选择来进行此类布局并摆脱您遇到的问题。

<强>1。使用 GridView

使用 gridview,您将在所有四个方向(左、右、上、下)上拥有相等的空间。您不必担心网格项的间距相等。

 <GridView
android:id="@+id/album_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:cacheColorHint="#00000000"
android:gravity="center"
android:numColumns="auto_fit"
android:stretchMode="spacingWidthUniform"
android:drawSelectorOnTop="true"/>

只需尝试上面的代码,您就可以将所有 View 平均分布在网格中。

<强>2。使用 TableLayout 和 TableRow

请检查以下代码以使用 TableLayout 和 TableRow 及其属性使所有 View 均等排列。即使您减小 TableLayout 的高度和宽度,它也会在该 View 中保持均匀排列。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_margin="5dp">
<TableRow android:weightSum="3"
android:layout_weight="1" android:gravity="center">
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
</TableRow>

<TableRow android:weightSum="3" android:layout_weight="1" android:gravity="center">
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
</TableRow>

<TableRow android:weightSum="3" android:layout_weight="1" android:gravity="center">
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
<Button android:gravity="center"
android:textSize="13sp" android:textColor="#000000"
android:text="1" android:layout_weight="1"/>
</TableRow>
</TableLayout>

请查找此 TableLayout 的输出。 enter image description here

如果此问题已解决,请告诉我。如果没有,我很乐意再次为您提供帮助。

享受编码......:)

关于android - 垂直居中文本独立于 View 高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28269365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com