Vi som tidigare har skrivit appar för Windows Phone vet att det kan vara lite lurigt att göra ett bra användargränssnitt som samtidigt klarar av att “störas” av ett tangentbord som visas på skärmen. Här är en punktlista med den viktigaste information om hur man hanterar denna virtuella inmatningsenhet i Windows 8.
Viktiga punkter
- Det är UI Automation som avgör om tangentbordet skall synas eller ej.
- Detta är inbyggt i alla kontroller som behöver ett tangentbord för att kunna ta emot text.
- Man kan inte programmatiskt sätta fokus så att tangentbordet syns. Detta för att inte användaren skall bli överraskad när plötsligt ett tangentbord visas på skärmen.
- Bygger man egna kontroller så behöver man hantera detta själv. (Det finns bra exempel bland Windows 8 sample apps)
- En smart inbyggd funktion är att när fokus förflyttas till vissa typer av kontroller, som själva inte använder sig av tangentbordet, så kommer tangentbordet inte att försvinna. Detta för att inte förbrylla användaren. Ex. Ett formulär visas på skärmen och det består av en blandning av kontroller, såsom textboxar, comboboxar, checkboxar mm. För att inte tangentbordet skall visas respektive visas mellan de olika kontrollerna och göra användaren helt förvirrad, så kommer tangentbordet att vara synligt hela tiden.
- Följande kontroller gör inte så att tangentbordet försvinner, om det redan är synligt när dessa kontroller får fokus:
- Check box
- Combo box
- Radio button
- Scroll bar
- Tree
- Tree item
- Menu
- Menu bar
- Menu item
- Toolbar
- List
- List item
- Windows 8 försöker att automatiskt skrolla den kontroll som textinmatning pågår i för att det inte skall skymmas av tangentbordet.
- Om man behöver hantera detta så prenumerera på Showing och Hiding på objektet InputPane för att kunna hantera hur användargränssnitt skall se ut när tangentbordet visas.
Länkar
http://msdn.microsoft.com/en-us/library/windows/apps/hh465404.aspx
http://msdn.microsoft.com/en-us/library/windows/apps/Hh972345.aspx
Comments