【问题标题】:Align textviews in left and right side of a linear layout?在线性布局的左侧和右侧对齐文本视图?
【发布时间】:2022-01-19 13:44:18
【问题描述】:

我目前正在做“Google Android Dev”中的一个项目。我在布局设计中遇到问题。请帮助我如何在线性布局的左侧和右侧对齐一个文本视图。

<?xml version="1.0" encoding="utf-8"?>


    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="match_parent"
            android:layout_height="194dp"
            android:layout_marginBottom="8dp"
            android:scaleType="centerCrop"
            app:layout_constraintBottom_toTopOf="@+id/textAppearanceHeadline6"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="1.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            tools:srcCompat="@drawable/faye" />

        <TextView
            android:id="@+id/textAppearanceHeadline6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:text="Faye"
            android:textColor="@android:color/black"
            android:textSize="16sp"
            android:textStyle="bold"
            app:layout_constraintStart_toStartOf="@+id/imageView"
            app:layout_constraintTop_toBottomOf="@+id/imageView" />

        <LinearLayout
            android:id="@+id/textAppearanceBody1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"

            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="@+id/textAppearanceHeadline6"
            app:layout_constraintTop_toBottomOf="@+id/textAppearanceHeadline6">

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                android:layout_marginBottom="8dp"
                android:text="Age : 7"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="start|right"
                android:layout_marginEnd="8dp"
                android:layout_marginBottom="8dp"
                android:text="Hobbies: Sunbathing"
                android:textColor="#5A5656" />
        </LinearLayout>
    </androidx.constraintlayout.widget.ConstraintLayout>

我是 android 新手,因此非常欢迎您进行代码审查。

【问题讨论】:

    标签: android android-layout android-linearlayout


    【解决方案1】:

    尝试像这样改变你的布局:

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    
        <ImageView
            android:id="@+id/imageView"
            android:layout_width="match_parent"
            android:layout_height="194dp"
            android:layout_marginBottom="8dp"
            android:scaleType="centerCrop"
            app:layout_constraintBottom_toTopOf="@+id/textAppearanceHeadline6"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="1.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            tools:srcCompat="@drawable/faye" />
    
        <TextView
            android:id="@+id/textAppearanceHeadline6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="8dp"
            android:text="Faye"
            android:textColor="@android:color/black"
            android:textSize="16sp"
            android:textStyle="bold"
            app:layout_constraintStart_toStartOf="@+id/imageView"
            app:layout_constraintTop_toBottomOf="@+id/imageView" />
    
        <LinearLayout
            android:id="@+id/textAppearanceBody1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="8dp"
            android:orientation="horizontal"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="@+id/textAppearanceHeadline6"
            app:layout_constraintTop_toBottomOf="@+id/textAppearanceHeadline6">
    
            <TextView
                android:id="@+id/textView2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center|start"
                android:text="Age : 7"/>
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Hobbies: Sunbathing"
                android:gravity="center"
                android:textColor="#5A5656" />
    
        </LinearLayout>
    
    </androidx.constraintlayout.widget.ConstraintLayout>
    

    【讨论】:

      【解决方案2】:

      这样使用

      <TextView
                  android:id="@+id/textView2"
                  android:layout_width="0dp"
                  android:layout_gravity="center_vertical"
                  android:weight="1"
                  android:layout_height="wrap_content"
                  android:text="Age : 7"/>
      
              <TextView
                  android:layout_width="0dp"
                  android:layout_height="wrap_content"
                  android:layout_gravity="center_vertical"
                  android:text="Hobbies: Sunbathing"
                  android:textColor="#5A5656" />
      

      这里的权重将允许第一个 textview 占用所有空间,并将为爱好 textview 留下所需的空间。 根据您的要求使用它。

      【讨论】:

      • 我猜您的代码中存在一些错误,它无法正常工作。请检查一下。
      猜你喜欢
      • 1970-01-01
      • 2016-07-11
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多