#java #android #android-layout #layout
#java #Android #android-макет #макет
Вопрос:
У меня есть 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));
}
}