Я разрабатываю пользовательскую клавиатуру для Android. Я хочу иметь свой собственный ярлык для клавиши ENTER для некоторых полей в моем приложении. Я использовал образец проекта SoftKeyboard для разработки моей клавиатуры. То, что я пытался до сих пор: 1 В одном из моей деятельности у меня есть EditText со следующими атрибутами:Невозможно изменить Enter Key label для пользовательской клавиатуры в Android
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeActionId="@+id/action_sign_in"
android:imeActionLabel="@string/sign_in"
android:inputType="textPassword" />
Если я использую Native Android клавиатуры она показывает «Sign In» на мой введите ключ, но если я использовать мои пользовательские клавиатуры он показывает значение по умолчанию, введите ключ в следующем заявлении:
void setImeOptions(Resources res, int options)
{
if (mEnterKey == null)
{
return;
}
switch (options & (EditorInfo.IME_MASK_ACTION | EditorInfo.IME_FLAG_NO_ENTER_ACTION))
{
case EditorInfo.IME_ACTION_GO:
mEnterKey.iconPreview = null;
mEnterKey.icon = null;
mEnterKey.label = res.getText(R.string.label_send_key);
break;
case EditorInfo.IME_ACTION_NEXT:
mEnterKey.iconPreview = null;
mEnterKey.icon = null;
mEnterKey.label = res.getText(R.string.label_next_key);
break;
case EditorInfo.IME_ACTION_SEARCH:
mEnterKey.icon = res.getDrawable(R.drawable.sym_keyboard_search);
mEnterKey.label = null;
break;
case EditorInfo.IME_ACTION_SEND:
mEnterKey.iconPreview = null;
mEnterKey.icon = null;
mEnterKey.label = res.getText(R.string.label_send_key);
break;
case R.id.action_sign_in:
mEnterKey.iconPreview = null;
mEnterKey.icon = null;
mEnterKey.label = res.getText(R.string.sign_in);
break;
default:
mEnterKey.label = res.getText(R.string.label_send_key);
mEnterKey.icon = null;
break;
}
}
}
Я был бы признателен, если кто-то может помочь мне решить эту проблему.