1

我有一个带有大字体的editText,我的想法是在它接近屏幕边框时减小大小,所以我正在以编程方式更改文本大小,但结果是文本也在我的视图中改变了位置。我怎样才能防止这种情况?

这里是居中的文本 布局

改变大小后 感动

布局:

<androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toBottomOf="@id/main_user_container"
        app:layout_constraintBottom_toTopOf="@id/reason_container"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" >

        <LinearLayout
            android:id="@+id/text_container"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:orientation="horizontal">

    <EditText
        android:id="@+id/Amount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:cursorVisible="false"
        android:digits="0123456789.,"
        android:inputType="numberDecimal"
        android:maxLength="20"
        android:singleLine="true"
        android:textSize="72sp"
        android:typeface="normal"
        tools:text="0" />
</LinearLayout>
    </androidx.constraintlayout.widget.ConstraintLayout>

在这里我改变了大小:

@Override
        public void afterTextChanged(final Editable editable) {
            if (mAmountText.getText().length() > 7) {
                mAmountText.setTextSize(getResources().getDimension(R.dimen.small));
            } else {
                mAmountText.setTextSize(getResources().getDimension(R.dimen.big));
            }
        }
4

0 回答 0