【问题标题】:Relative Layout Android Studio Textview collapsing together相对布局 Android Studio Textview 折叠在一起
【发布时间】:2020-12-04 19:59:35
【问题描述】:

How I want it to show

How it is showing after rendering

我在滚动视图中使用相对布局,当左右 TextView 位于中心时,4 个 TextView 的对齐会出现问题。

这里是相对视图的代码。

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="415dp">

        <TextView
            android:layout_width="145dp"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_marginStart="50dp"
            android:layout_marginTop="20dp"
            android:text="@string/Sindh_"
            android:textAlignment="center"
            android:textSize="30sp" />

        <TextView
            android:id="@+id/Sindh_cases"
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:layout_alignParentStart="true"
            android:layout_marginStart="65dp"
            android:layout_marginTop="70dp"
            android:background="@drawable/text_shape"
            android:gravity="center"
            android:textAlignment="center"
            android:textSize="30sp"
            android:textStyle="bold" />

        <TextView
            android:layout_width="145dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="50dp"
            android:layout_alignParentEnd="true"
            android:layout_marginTop="20dp"
            android:textSize="30sp"
            android:textAlignment="center"
            android:text="@string/Punjab"
            />

        <TextView
            android:id="@+id/Punjab_cases"
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:layout_alignParentEnd="true"
            android:layout_marginTop="70dp"
            android:layout_marginEnd="65dp"
            android:background="@drawable/text_shape"
            android:gravity="center"
            android:textAlignment="center"
            android:textSize="30sp"
            android:textStyle="bold" />

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@android:color/darker_gray"/>


    </RelativeLayout>

第一个和第二个文本视图是左边的,第三个和第四个是右边的。

【问题讨论】:

    标签: android xml android-layout layout


    【解决方案1】:

    您可以在底部TextViews 之间添加边距以确保它们分开

    修改后:

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="415dp">
    
        <TextView
            android:layout_width="145dp"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_marginStart="50dp"
            android:layout_marginTop="20dp"
            android:text="@string/Sindh_"
            android:textAlignment="center"
            android:textSize="30sp" />
    
        <TextView
            android:id="@+id/Sindh_cases"
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:layout_alignParentStart="true"
            android:layout_marginStart="65dp"
            android:layout_marginTop="70dp"
            android:background="@drawable/text_shape"
            android:gravity="center"
            android:textAlignment="center"
            android:layout_marginEnd="25dp"
            android:textSize="30sp"
            android:textStyle="bold" />
    
        <TextView
            android:layout_width="145dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="50dp"
            android:layout_alignParentEnd="true"
            android:layout_marginTop="20dp"
            android:textSize="30sp"
            android:textAlignment="center"
            android:text="@string/Punjab"
            />
    
        <TextView
            android:id="@+id/Punjab_cases"
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:layout_alignParentEnd="true"
            android:layout_marginTop="70dp"
            android:layout_marginEnd="65dp"
            android:background="@drawable/text_shape"
            android:gravity="center"
            android:textAlignment="center"
            android:layout_marginStart="25dp"
            android:textSize="30sp"
            android:textStyle="bold" />
    
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@android:color/darker_gray"/>
    
    
    </RelativeLayout>
    

    使用约束布局

    <?xml version="1.0" encoding="utf-8"?>
    
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="415dp">
    
        <TextView
            android:id="@+id/tv_sindh"
            android:layout_width="145dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="50dp"
            android:layout_marginTop="20dp"
            android:text="@string/Sindh_"
            android:textAlignment="center"
            android:textSize="30sp"
            app:layout_constraintStart_toStartOf="parent" />
    
        <TextView
            android:id="@+id/Sindh_cases"
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:layout_marginStart="65dp"
            android:layout_marginTop="70dp"
            android:layout_marginEnd="25dp"
            android:background="@drawable/text_shape"
            android:gravity="center"
            android:textAlignment="center"
            android:textSize="30sp"
            android:textStyle="bold"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/tv_sindh" />
    
        <TextView
            android:id="@+id/tv_punjab"
            android:layout_width="145dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:layout_marginEnd="50dp"
            android:text="@string/Punjab"
            android:textAlignment="center"
            android:textSize="30sp"
            app:layout_constraintStart_toEndOf="@+id/tv_sindh" />
    
        <TextView
            android:id="@+id/Punjab_cases"
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:layout_marginStart="25dp"
            android:layout_marginTop="70dp"
            android:layout_marginEnd="65dp"
            android:background="@drawable/text_shape"
            android:gravity="center"
            android:textAlignment="center"
            android:textSize="30sp"
            android:textStyle="bold"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/Sindh_cases"
            app:layout_constraintTop_toBottomOf="@+id/tv_punjab" />
    
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@android:color/darker_gray" />
    
    
    </androidx.constraintlayout.widget.ConstraintLayout>
    

    另请注意,您夸大了边距值,例如在顶部使用415dp 边距对于某些设备来说可能太多了,而对于横向来说已经太多了;除非将其包裹在ScrollView中,否则底部视图不会显示在屏幕上

    【讨论】:

    • 这可以通过在两个 TextView 之间设置约束以避免它们之间的交叉使用ConstraintLayout 做得更好。如果您需要,请告诉我
    • 在约束布局中获得一个设置会很棒。因为目前还没有其他解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2019-01-19
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 1970-01-01
    • 2015-02-04
    相关资源
    最近更新 更多