Cannot capture keypressed event in modal on Android
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- android, angular, typescript
- Domínio
- mobile
Direção de pesquisa
Comece com a activity.android.ts estendida e o modal que não ocupa a tela inteira descrito nas etapas de reprodução. Rastreie como dispatchKeyEvent e as notificações do aplicativo se comportam quando o modal e seu menu suspenso estão abertos e, em seguida, verifique se os eventos das teclas de seta do hardware podem ser capturados e registrados no modal.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):
- CLI: 8.2.0
- Cross-platform modules:
- Android Runtime: 6.3.1
- iOS Runtime: N/A
- Plugin(s):
- NativeScript-Angular: 8.2.1
- Angular: 8.2.0
Describe the bug
Same as title, I am unable to capture the keydown event in a modal dialog.
The key press is coming from a hardware keyboard, not the onscreen one.
I can accomplish this in any other component using:
application.on('KEYCODE_DPAD_DOWN', (() => {
console.log('Keyboard Down Arrow Pressed');
}));
And it works fine.
This is after extending activity.android.ts, and adding:
public dispatchKeyEvent(event) {
let keyCode = event.getKeyCode();
switch (keyCode) {
case android.view.KeyEvent.KEYCODE_DPAD_LEFT:
case android.view.KeyEvent.KEYCODE_DPAD_UP:
application.notify({
eventName: 'KEYCODE_DPAD_UP',
})
return true;
case android.view.KeyEvent.KEYCODE_DPAD_RIGHT:
case android.view.KeyEvent.KEYCODE_DPAD_DOWN:
application.notify({
eventName: 'KEYCODE_DPAD_DOWN',
})
return true;
default:
return super.dispatchKeyEvent(event);
}
}
I have tried every manner of capturing the keypress in a modal that I could, none work.
To Reproduce
Extend android activity to capture a keypress, try to capture a keypress in a non-fullscreen modal.
Expected behavior
Should be able to capture the keypress and console log it, similar to how it is in a component.
Additional context
In my modal, I have a dropdown. If I open the dropdown and then press the up/down arrow keys, it navigates through the selections, so the buttons work in the modal, I just don't know how to capture and console log them.
Please let me know if additional info is required.
- Linguagem predominante
- TypeScript
- Estrelas
- 55
- Forks
- 13
- Merge médio
- 16min
- PRs com merge (30d)
- 1
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de NativeScript/angular
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
NativeScript/angular#170 · 1 comentário ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
NativeScript/angular#164 ·
-
My types are gone Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 45/100
NativeScript/angular#163 · 1 comentário ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
NativeScript/angular#158 · 1 reação ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
NativeScript/angular#155 ·
Todas as issues de NativeScript/angular
Issues semelhantes
-
S: triage
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
fix(errors): EHOSTUNREACH from a happy-eyeballs connect is reported as a resolver error (STAMP-80) Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 90/100
snapshot-labs/stamp#666 ·
-
fix(api): prevent leaderboard SSE heartbeat from starting after disconnect during initial load Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
GauravKarakoti/SecureFlow#1070 · 1 comentário ·
-
feature:Languages/Translations good first issue ready Web
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
digitalfabrik/integreat-app#4394 ·