Пользовательский значок для стандартных действий IME для клавиатуры и редактирования текста - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь настроить действия IME моей клавиатуры в приложении обмена сообщениями. Я использую IME_ACTION_SEND, и я в порядке со значком по умолчанию, используемым на клавиатуре, но у меня возникают проблемы с изменением отображения действия IME, отображаемого в тексте редактирования, когда в альбомном режиме. В настоящее время кнопка действия ime имеет метку с надписью «отправить», но я хочу, чтобы это был значок отправки, а не слово «отправить». Я также хочу сохранить кнопку ввода / возврата на клавиатуре, как показано, и не заменять ее на значок отправки.

enter image description here

Пример того, что я Я пытаюсь это сделать (но использую значок или рисунок вместо эмодзи):

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

Макет:

<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">

        <EditText
            android:id="@+id/edit_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Hello World!"
            android:inputType="textMultiLine|textCapSentences"
            android:maxLines="4"
            android:singleLine="false"
            android:imeActionLabel="@string/thumbs_up"
            android:imeOptions="actionSend|flagNoEnterAction"
            android:textSize="16sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>

строка:

<resources>
    <string name="thumbs_up">?</string>
</resources>

1 Ответ

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

В итоге я установил флаг ime_flag_no_extract_ui для текста редактирования и использовал кнопку рядом с моим текстом редактирования.

Я действительно рассматривал возможность использования смайликов на ярлыке, но в итоге я также пытался обновить ярлык в режиме реального времени с помощью текстовых часов, но вы не можете вносить изменения в конфигурацию IME на клавиатуре без закрытия и повторное открытие клавиатуры.

...