首页 > 解决方案 > 如何在线性布局中对齐视图?

问题描述

我想在线性布局中水平对齐。所以我使用 weight 属性来对齐视图。但是在设置值之后,一些值没有被正确设置。

下面是布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@color/white"
android:orientation="horizontal"
android:paddingStart="5dp"
android:paddingTop="10dp"
android:gravity="center_vertical"
android:paddingEnd="5dp"
android:paddingBottom="10dp">

<androidx.appcompat.widget.AppCompatTextView
    android:id="@+id/topHoldingStockName"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="start|center_vertical"
    android:layout_weight="1"
    android:gravity="start|center_vertical"
    android:text="Bharati Airtel Ltd."
    android:textAppearance="@style/RegularGreyText"
    android:textSize="15sp" />

<androidx.appcompat.widget.AppCompatTextView
    android:id="@+id/topHoldingSectorName"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="5dp"
    android:layout_weight="1"
    android:gravity="start"
    android:text="Telecommunication - service provider"
    android:textAppearance="@style/RegularGreyText"
    android:textSize="15sp" />

<androidx.appcompat.widget.AppCompatTextView
    android:id="@+id/topHoldingSchemeWeight"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="5dp"
    android:layout_marginEnd="5dp"
    android:layout_weight="0.7"
    android:text="15.00"
    android:gravity="center"
    android:textAppearance="@style/RegularGreyText"
    android:textSize="15sp" />

输出看起来像图片供参考 我希望它们像标题一样正确对齐。

标签: androidandroid-studioandroid-linearlayout

解决方案


用以下xml代码替换您的代码..

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
    android:background="@color/white"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:paddingStart="5dp"
    android:paddingTop="10dp"
    android:paddingEnd="5dp"
    android:paddingBottom="10dp"
    android:weightSum="3">


    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/topHoldingStockName"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="start|center_vertical"
        android:layout_marginEnd="2dp"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Bharati Airtel Ltd."
        android:textAppearance="@style/RegularGreyText"
        android:textSize="15sp" />

    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/topHoldingSectorName"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="2dp"
        android:layout_marginEnd="2dp"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Telecommunication - service provider"
        android:textAppearance="@style/RegularGreyText"
        android:textSize="15sp" />

    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/topHoldingSchemeWeight"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="2dp"
        android:layout_weight="1"
        android:gravity="center"
        android:text="15.00"
        android:textAppearance="@style/RegularGreyText"
        android:textSize="15sp" />
</LinearLayout>
在此处输入图像描述


推荐阅读