【问题标题】:Android how to set custom width on text view row [duplicate]Android如何在文本视图行上设置自定义宽度[重复]
【发布时间】:2018-08-16 15:27:29
【问题描述】:

所以我创建了一个布局,它是一行 3 个文本视图。我想要实现的是让第一个文本视图比其他两个文本视图宽得多。

我尝试将 layout_width 设置为 32dp 等值,但这似乎也会影响其他文本视图和高度。

这就是现在的样子

这是代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView
        android:id="@+id/colum1"
        android:layout_width="62dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:layout_gravity="center_vertical"
        android:text="TextView"
        android:textSize="18sp"
        android:textColor="#ff000000" />
    <TextView
        android:id="@+id/colum2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:layout_gravity="center_vertical"
        android:text="TextView"
        android:textSize="18sp"
        android:textColor="#ff000000" />
    <TextView
        android:id="@+id/colum3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:layout_gravity="center_vertical"
        android:text="TextView"
        android:textSize="18sp"
        android:textColor="#ff000000" />
</LinearLayout>

我希望 textview colum1 占用前两个文本视图的宽度,最后两个作为一个的宽度。

喜欢这个

【问题讨论】:

  • @grrigore 解决了我的问题谢谢
  • 你的 XML 是完美的,你只需将 android:layout_weight="1" 更改为这个顺序。 对于较大的 TextView android:layout_weight="0.4" 对于较小的 TextView android:layout_weight="0.2" 对于较小的 TextView android:layout_weight="0.1"

标签: android xml android-layout xamarin


【解决方案1】:

试试这个:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <TextView
        android:id="@+id/colum1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:gravity="center"
        android:layout_gravity="center_vertical"
        android:text="TextView"
        android:textSize="18sp"
        android:textColor="#ff000000" />
    <TextView
        android:id="@+id/colum2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:layout_gravity="center_vertical"
        android:text="TextView"
        android:textSize="18sp"
        android:textColor="#ff000000" />
    <TextView
        android:id="@+id/colum3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:layout_gravity="center_vertical"
        android:text="TextView"
        android:textSize="18sp"
        android:textColor="#ff000000" />
</LinearLayout>

这是结果:

更多信息here

【讨论】:

    【解决方案2】:

    您需要从第一个 TextView 中删除权重,或者将其权重设置为 2。在此处阅读有关 Android 文档的更多信息:https://developer.android.com/guide/topics/ui/layout/linear

    【讨论】:

    • 如果您将 TextView 的权重设置为 2,您可能还需要将布局“android:weightSum”设置为 4。
    猜你喜欢
    • 2011-08-30
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    • 2011-05-03
    • 1970-01-01
    • 2011-06-29
    相关资源
    最近更新 更多