Android-toetsenbord op het scherm en B4A

Ik vraag me af over het toetsenbord op het scherm (osk).

In de portretmodus wordt de osk weergegeven aan de onderkant van het scherm en wordt alleen het onderste gedeelte van mijn app bedekt. Dit is ideaal omdat je nog steeds mijn tekstvak kunt zien dat zich in het bovenste gedeelte van de app bevindt. Maar wanneer de oriëntatie wordt gewijzigd in liggend, bedekt de osk de gehele app (verberg mijn tekstvak) met een eigen tekstgebied.

Dit osk-tekstgebied wordt alleen weergegeven in de liggende modus. Is dit hoe de osk zich gedraagt ​​op alle Androids of is het specifiek voor Samsung Tab 7 "of iets anders?

Is er een manier om te voorkomen dat de osk een eigen tekstvak weergeeft in de liggende modus? Zo niet, dan zal ik mijn eigen osk moeten ontwerpen. Als ik mijn eigen osk ontwerp, kan ik toch profiteren van de automatische aanvulling van Android via B4A?

Ik heb de AutoCompleteEditText geprobeerd, maar deze werkt niet zoals de automatische aanvulling van Android doet wat dichterbij is wat ik nodig heb.

Suggesties?

Dankjewel voor je hulp,

Bob Gately

0

2 antwoord

Beter antwoord. U kunt de reflectiebibliotheek gebruiken om het toetsenbord op volledig scherm uit te schakelen:

Dim r As Reflector
r.Target = EditText1
r.RunMethod2("setImeOptions", 268435456, "java.lang.int") 'IME_FLAG_NO_EXTRACT_UI constant
2
toegevoegd
Aha! Ik heb de bibliotheek van Reflection nog niet bekeken. Bedankt voor het codevoorbeeld - ik zal het proberen.
toegevoegd de auteur Bob G, de bron
Het Reflection-codevoorbeeld is de perfecte oplossing. Het schermtoetsenbord geeft nu alleen het toetsenbord weer (en automatisch aanvullen) en bedekt de rest van mijn app niet. Nu hoef ik het toetsenbord en de automatische aanvulling niet opnieuw uit te vinden. Ik ga meer over Reflections leren. Heel erg bedankt!
toegevoegd de auteur Bob G, de bron

Dit is het standaardgedrag van alle Androïden in landschap. Wellicht wilt u deze link zien voor een implementatie van aangepaste toetsenborden:

0
toegevoegd
Bedankt Erel voor je snelle antwoord. Ik heb de link voor aangepaste toetsenborden al bekeken en zag het gebruik van de voorbeelden als een startpunt voor het maken van mijn eigen toetsenbord. Als ik mijn eigen toetsenbord maak, moet ik nog steeds automatisch aanvullen op dezelfde manier als het Android-toetsenbord. Is er een manier om toegang te krijgen tot de Android-bibliotheek voor automatisch aanvullen van B4A?
toegevoegd de auteur Bob G, de bron
PS: Ik ben aan het spelen met een andere Android-programmeer-app en het tekstgebied dat is gekoppeld aan het toetsenbord op het scherm wordt niet weergegeven in de liggende modus - alleen het toetsenbord is zichtbaar en de test-app is nog steeds zichtbaar in de bovenste helft van het scherm. Mijn gok is omdat de applicatie in de browser draait (HTML5).
toegevoegd de auteur Bob G, de bron