Текст выходит за пределы для телефонов с меньшим размером ширины - PullRequest
0 голосов
/ 15 января 2020

У меня есть набор кодов, который подходит для всех телефонов с шириной 1080 или больше, однако для телефонов с шириной 720 мой последний TextView с textSize 20dp с текстом «Цена» выходит за пределы ширины телефона. Таким образом, для телефонов шириной 1080 или более я хочу, чтобы мой textSize составлял 20dp, так как он подходит к этим телефонам, но для телефонов с шириной 720 я хочу уменьшить его textSize. Как бы я это сделал?

Нужно, чтобы это работало для android 5.0 и выше

<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=".MainActivity">

<ScrollView
android:layout_width="match_parent"
android:layout_height="500dp"
android:background="#00FFFFFF"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:context=".MainActivity">


<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="409dp"
android:layout_height="300dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">                

        <Button
            android:id="@+id/button1"
            android:layout_width="44dp"
            android:layout_height="38dp"
            android:layout_marginStart="268dp"
            android:layout_marginLeft="268dp"
            android:layout_marginTop="96dp"
            android:onClick="onButtonClick"
            android:text="Go"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <EditText
            android:id="@+id/Name1"
            android:layout_width="67dp"
            android:layout_height="45dp"
            android:layout_marginTop="85dp"
            android:ems="10"
            android:hint="Symbol"
            android:inputType="textPersonName"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <Spinner
            android:id="@+id/spinner1"
            android:layout_width="109dp"
            android:layout_height="37dp"
            android:layout_marginStart="76dp"
            android:layout_marginLeft="76dp"
            android:layout_marginTop="92dp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <EditText
            android:id="@+id/Price1"
            android:layout_width="72dp"
            android:layout_height="51dp"
            android:layout_marginStart="192dp"
            android:layout_marginLeft="192dp"
            android:layout_marginTop="84dp"
            android:ems="10"
            android:hint="Amount"
            android:inputType="numberDecimal"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <TextView
            android:id="@+id/text1"
            android:layout_width="80dp"
            android:layout_height="31dp"
            android:layout_marginStart="324dp"
            android:layout_marginLeft="324dp"
            android:layout_marginTop="100dp"
            android:text="Price"
            android:textSize="20dp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />


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

1 Ответ

0 голосов
/ 15 января 2020

Я просмотрел ваш макет и попытался улучшить его, как бы я делал макет, подобный этому. Вы используете ConstraintLayout, поэтому вы хотите выровнять виды относительно друг друга. Например, вы можете выровнять вашу цену в крайнем правом положении, и она будет расширяться влево, а также pu sh других представлений влево.

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00FFFFFF"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    tools:context=".MainActivity">


    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <EditText
            android:id="@+id/Name1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="8dp"
            android:hint="Symbol"
            android:inputType="textPersonName"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <Button
            android:id="@+id/button1"
            android:layout_width="44dp"
            android:layout_height="38dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="8dp"
            android:layout_marginBottom="8dp"
            android:onClick="onButtonClick"
            android:text="Go"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@+id/text1"
            app:layout_constraintTop_toTopOf="parent" />

        <Spinner
            android:id="@+id/spinner1"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="8dp"
            android:minWidth="120dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toEndOf="@+id/Name1"
            app:layout_constraintTop_toTopOf="parent" />

        <EditText
            android:id="@+id/Price1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginEnd="8dp"
            android:hint="Amount"
            android:inputType="numberDecimal"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@+id/button1"
            app:layout_constraintStart_toEndOf="@+id/spinner1"
            app:layout_constraintTop_toTopOf="parent" />

        <TextView
            android:id="@+id/text1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="8dp"
            android:layout_marginBottom="8dp"
            android:text="Price"
            android:textSize="20sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent" />


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

...