Редактировать текст работает странно после вставки текста - PullRequest
4 голосов
/ 17 апреля 2020

Когда я копирую письмо с веб-сайта и вставляю его в текст для редактирования, оно приходит с расширенным форматированием, а затем я пытался удалить форматирование

public void afterTextChanged(Editable string)
{
    CharacterStyle[] toBeRemovedSpans = string.getSpans(0, string.length(),
                                                MetricAffectingSpan.class);
    for (int index = 0; index < toBeRemovedSpans; index++)
        string.removeSpan(toBeRemovedSpans[index]);
    }
}

Это изображение перед форматированием

, но у меня это не сработало, потому что это огромный пробел от начала до текста. Это изображение после применения форматирования

У меня есть прошел через целое число rnet, чтобы остановить его, но ничего не нашел. Я пытался очистить все промежутки от редактируемого текста, но редактирование текста происходило медленнее, чем раньше.

<LinearLayout
                    android:id="@+id/email_signup_form"
                    android:layout_width="match_parent"
                    android:layout_marginTop="20dp"
                    android:layout_marginLeft="30dp"
                    android:layout_marginRight="30dp"
                    android:layout_height="match_parent"
                    android:orientation="vertical">

                    <com.google.android.material.textfield.TextInputLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="@dimen/SIZE_50"
                        android:paddingLeft="@dimen/activity_horizontal_margin"
                        android:paddingRight="@dimen/activity_horizontal_margin"
                        app:hintTextAppearance="@style/MyAppearance">

                        <EditText
                            android:id="@+id/first_name"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="@string/prompt_fname"
                            android:inputType="textPersonName"
                            android:maxLength="64"
                            android:maxLines="1"
                            android:singleLine="true"
                            />

                    </com.google.android.material.textfield.TextInputLayout>

                    <com.google.android.material.textfield.TextInputLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="@dimen/activity_horizontal_margin"
                        android:paddingRight="@dimen/activity_horizontal_margin"
                        app:hintTextAppearance="@style/MyAppearance">

                        <EditText
                            android:id="@+id/last_name"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="@string/prompt_lname"
                            android:inputType="textPersonName"
                            android:maxLines="1"
                            android:maxLength="64"
                            android:singleLine="true" />

                    </com.google.android.material.textfield.TextInputLayout>

                    <com.google.android.material.textfield.TextInputLayout
                        android:layout_width="match_parent"
                        android:paddingLeft="@dimen/activity_horizontal_margin"
                        android:paddingRight="@dimen/activity_horizontal_margin"
                        android:layout_height="wrap_content"
                        app:hintTextAppearance="@style/MyAppearance">

                        <EditText
                            android:id="@+id/email"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="@string/prompt_email"
                            android:inputType="textEmailAddress"
                            android:maxLines="1"
                            android:singleLine="true" />

                    </com.google.android.material.textfield.TextInputLayout>

                    <com.google.android.material.textfield.TextInputLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:id="@+id/passwordText"
                        android:paddingLeft="@dimen/activity_horizontal_margin"
                        android:paddingRight="@dimen/activity_horizontal_margin"
                        app:passwordToggleEnabled="true"
                        app:hintTextAppearance="@style/MyAppearance">

                        <EditText
                            android:id="@+id/password"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="@string/prompt_password"
                            android:inputType="textPassword"
                            android:maxLines="1"
                            android:singleLine="true" />

                    </com.google.android.material.textfield.TextInputLayout>

                    <com.google.android.material.textfield.TextInputLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:id="@+id/retypePasswordText"
                        android:paddingLeft="@dimen/activity_horizontal_margin"
                        android:paddingRight="@dimen/activity_horizontal_margin"
                        app:passwordToggleEnabled="true"
                        app:hintTextAppearance="@style/MyAppearance">

                        <EditText
                            android:id="@+id/cnf_password"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="@string/prompt_password_cnf"
                            android:inputType="textPassword"
                            android:maxLines="1"
                            android:singleLine="true" />

                    </com.google.android.material.textfield.TextInputLayout>

                    <Button
                        android:id="@+id/email_sign_up_button"
                        style="?android:textAppearanceSmall"
                        android:layout_width="265dp"
                        android:layout_gravity="center"
                        android:background="@drawable/ripple_effect"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="16dp"
                        android:textColor="#fff"
                        android:text="@string/action_sign_up"
                        android:textStyle="bold" />

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:gravity="center_horizontal|bottom">
                        <ImageView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:src="@drawable/characters"/>
                    </LinearLayout>


                </LinearLayout>

эта проблема для каждого текста редактирования. Дело в том, что, когда я добавляю текст перед вставкой текста, редактируемый текст работает без каких-либо пробелов или чего-либо еще после вставки текста, это работает странно

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020

Удалите приведенный ниже код из TextInputLayout ..

android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
0 голосов
/ 17 апреля 2020

Можете ли вы опубликовать код вашего макета, пожалуйста? Я думаю, что выравнивание текста EditText является «центрированным», вы просто должны удалить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...