如何在android XML中使布局灵活

问题描述 投票:0回答:1

我在 LinearLayout 中水平排列了 TextView,虽然当前布局在我的设备上运行良好,但当字体大小增加时,我遇到了问题,导致外观混乱。此外,我希望布局足够灵活以处理小屏幕。

下图是正常字体大小时的图片- .

但是假设我增加了手机的字体大小,它看起来很乱-

     <LinearLayout
        android:id="@+id/line2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="20dp"
        android:layout_marginEnd="20dp"
        android:padding="7dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/line1">

        <TextView
            android:id="@+id/coffee"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_marginEnd="7dp"
            android:background="@drawable/selected_button_color"
            android:minHeight="34dp"
            android:gravity="center"
            android:text="Coffee"
            android:textAllCaps="false"
            android:textColor="@drawable/selected_text_color"
            android:textSize="13sp" />

        <TextView
            android:id="@+id/business"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="7dp"
            android:layout_weight="1"
            android:background="@drawable/selected_button_color"
            android:minHeight="34dp"
            android:gravity="center"
            android:text="Business"
            android:textAllCaps="false"
            android:textColor="@drawable/selected_text_color"
            android:textSize="13sp" />

        <TextView
            android:id="@+id/hobbies"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="7dp"
            android:layout_weight="1"
            android:background="@drawable/selected_button_color"
            android:minHeight="34dp"
            android:gravity="center"
            android:text="Hobbies"
            android:textAllCaps="false"
            android:textColor="@drawable/selected_text_color"
            android:textSize="13sp" />

        <TextView
            android:id="@+id/friendship"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:background="@drawable/selected_button_color"
            android:minHeight="34dp"
            android:gravity="center"
            android:text="Friendship"
            android:textAllCaps="false"
            android:textColor="@drawable/selected_text_color"
            android:textSize="13sp" />
    </LinearLayout>

是否有推荐的方法或布局配置来使 TextView 适应字体大小和小屏幕的变化?理想情况下,我希望 TextViews 在必要时转移到下一行。任何有关此事的见解或指导将不胜感激。谢谢!

android android-layout android-xml
1个回答
0
投票
    我注意到你应该设置元素的宽度
  • wrap_content
    ,因为
    0dp
    不适合
    LinearLayout
    但适合
    ConstraintLayout
    并放置填充以节省内部区域
  • 或者您可以使用外部库,例如
  • HashtagView
© www.soinside.com 2019 - 2024. All rights reserved.