Android-如果文本视图之间存在冲突,请放在省略号

时间:2020-06-11 16:24:28

标签: android

我想检查文本视图之间是否存在冲突,如果存在冲突,则应显示省略号,而不是使其相互冲突。

我已经尝试过this,但是它在我的机器上不起作用(可能是由于我当前使用的字体家族,空格太多)

enter image description here

以下是一些XML代码,(我使用的是Constraint布局):

<?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".SettingsActivity">


    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="55dp"
        android:layout_marginBottom="55dp"
        tools:context=".MainActivity">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:paddingBottom="30dp"
            tools:context=".SettingsActivity">


            <TextView
                android:id="@+id/screenText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="20dp"
                android:layout_marginTop="16dp"
                android:text="Screen"
                android:textColor="@color/colorPrimary"
                android:textSize="24sp"
                android:textStyle="bold"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

            <TextView
                android:id="@+id/songsText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="20dp"
                android:layout_marginTop="16dp"
                android:text="Songs"
                android:textColor="@color/colorPrimary"
                android:textSize="24sp"
                android:textStyle="bold"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/splitLine_hor3" />

            <Spinner
                android:id="@+id/fontSizeInput"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginEnd="24dp"
                android:gravity="right"
                android:padding="0dp"
                android:paddingEnd="32dp"
                android:paddingRight="32dp"
                android:spinnerMode="dialog"
                android:divider="#8e8e8e"
                app:layout_constraintBottom_toBottomOf="@+id/fontSizeText"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintTop_toTopOf="@+id/fontSizeText" />

            <Spinner
                android:id="@+id/fontFamilyInput"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:padding="0dp"
                android:paddingEnd="32dp"
                android:paddingRight="32dp"
                android:spinnerMode="dialog"
                app:layout_constraintBottom_toBottomOf="@+id/fontFamilyText"
                app:layout_constraintEnd_toEndOf="@+id/fontSizeInput"
                app:layout_constraintTop_toTopOf="@+id/fontFamilyText" />

            <Spinner
                android:id="@+id/searchUsingInput"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:padding="0dp"
                android:paddingEnd="32dp"
                android:paddingRight="32dp"
                android:spinnerMode="dialog"
                app:layout_constraintBottom_toBottomOf="@+id/searchUsingText"
                app:layout_constraintEnd_toEndOf="@+id/darkModeInput"
                app:layout_constraintTop_toTopOf="@+id/searchUsingText" />

            <Spinner
                android:id="@+id/displayOrderInput"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:padding="0dp"
                android:paddingRight="32dp"
                android:singleLine="true"
                android:spinnerMode="dialog"
                app:layout_constraintBottom_toBottomOf="@+id/displayOrderText"
                app:layout_constraintEnd_toEndOf="@+id/searchUsingInput"
                app:layout_constraintTop_toTopOf="@+id/displayOrderText"
                android:paddingEnd="32dp" />

            <TextView
                android:id="@+id/fontSizeText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="24dp"
                android:layout_marginTop="12dp"
                android:text="Font Size"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/screenText" />

            <View
                android:id="@+id/SplitLine_hor1"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_marginStart="16dp"
                android:layout_marginTop="8dp"
                android:layout_marginEnd="16dp"
                android:background="@color/colorGray"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/fontSizeText" />

            <View
                android:id="@+id/splitLine_hor"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_marginStart="16dp"
                android:layout_marginTop="8dp"
                android:layout_marginEnd="16dp"
                android:background="@color/colorGray"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/fontFamilyText" />

            <View
                android:id="@+id/splitLine_hor2"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_marginStart="16dp"
                android:layout_marginTop="8dp"
                android:layout_marginEnd="16dp"
                android:background="@color/colorGray"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="1.0"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/copyTextText" />

            <View
                android:id="@+id/splitLine_hor3"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_marginStart="16dp"
                android:layout_marginTop="8dp"
                android:layout_marginEnd="16dp"
                android:background="@color/colorGray"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.0"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/darkModeText" />

            <View
                android:id="@+id/splitLine_hor4"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_marginStart="16dp"
                android:layout_marginTop="8dp"
                android:layout_marginEnd="16dp"
                android:background="@color/colorGray"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.0"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/searchUsingText" />

            <View
                android:id="@+id/splitLine_hor5"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_marginStart="16dp"
                android:layout_marginTop="8dp"
                android:layout_marginEnd="16dp"
                android:background="@color/colorGray"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.0"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/displayOrderText" />

            <View
                android:id="@+id/splitLine_hor7"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_marginStart="16dp"
                android:layout_marginTop="8dp"
                android:layout_marginEnd="16dp"
                android:background="@color/colorGray"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.0"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/swipeHymnText" />

            <TextView
                android:id="@+id/fontFamilyText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="14dp"
                android:text="Font Family"
                app:layout_constraintStart_toStartOf="@+id/fontSizeText"
                app:layout_constraintTop_toBottomOf="@+id/SplitLine_hor1" />

            <TextView
                android:id="@+id/copyTextText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="14dp"
                android:text="Copy Texts"
                app:layout_constraintStart_toStartOf="@+id/fontFamilyText"
                app:layout_constraintTop_toBottomOf="@+id/splitLine_hor" />

            <TextView
                android:id="@+id/darkModeText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="14dp"
                android:text="Dark Mode"
                app:layout_constraintStart_toStartOf="@+id/copyTextText"
                app:layout_constraintTop_toBottomOf="@+id/splitLine_hor2" />

            <TextView
                android:id="@+id/searchUsingText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="12dp"
                android:text="Search Using"
                app:layout_constraintStart_toStartOf="@+id/darkModeText"
                app:layout_constraintTop_toBottomOf="@+id/songsText" />

            <TextView
                android:id="@+id/displayOrderText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="14dp"
                android:text="Display Order"
                app:layout_constraintStart_toStartOf="@+id/searchUsingText"
                app:layout_constraintTop_toBottomOf="@+id/splitLine_hor4" />

            <TextView
                android:id="@+id/swipeHymnText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="14dp"
                android:text="Swipe Through Songs"
                app:layout_constraintStart_toStartOf="@+id/displayOrderText"
                app:layout_constraintTop_toBottomOf="@+id/splitLine_hor5" />

            <Switch
                android:id="@+id/copyTextInput"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:layout_constraintBottom_toBottomOf="@+id/copyTextText"
                app:layout_constraintEnd_toEndOf="@+id/fontFamilyInput" />

            <Switch
                android:id="@+id/darkModeInput"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:layout_constraintBottom_toBottomOf="@+id/darkModeText"
                app:layout_constraintEnd_toEndOf="@+id/copyTextInput" />

            <Switch
                android:id="@+id/swipeHymnInput"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:layout_constraintBottom_toBottomOf="@+id/swipeHymnText"
                app:layout_constraintEnd_toEndOf="@+id/displayOrderInput" />

        </androidx.constraintlayout.widget.ConstraintLayout>
    </ScrollView>


</androidx.constraintlayout.widget.ConstraintLayout>

2 个答案:

答案 0 :(得分:0)

尝试在约束布局中嵌套水平线性布局。放在你的地方 当前位于fontFamilyInput微调器。接下来,将fontFamilyText TextView和fontFamilyInput微调器(按此顺序)放置在线性布局内。

现在,您可以在两个子视图中使用权重来声明文本视图在屏幕上的何处停止并且微调器开始。

但是,请记住,这只是一种方法。

答案 1 :(得分:0)

尝试将其添加到TextView MaxEms中,确定在显示省略号之前的字符数

android:ellipsize="end" 
android:maxEms="15" 
android:singleLine="true"