Hmm.... max. 3 ekrany + shift to wydają się być rozsądne.
Kolejne podejście - z przełączaniem kontekstowych klawiatur:
Prawdę mówiąc, powyższe rozwiązanie znacznie bardziej przypadło mi do gustu. Przyciski na kontekstowych klawiaturach pogrupowałem tematycznie, żeby zminimalizować potrzebę przełączania widoków. Zastanawiam się też nad wykorzystaniem gestów w górnej części - dzięki temu będę mógł pozbyć się lewej kolumny przycisków przełączających aktywną klawiaturę i powiększyć nieco górne przyciski. Z drugiej strony wydaje mi się, że jest to nieco mniej wygodne rozwiązanie w stosunku do przełączników.
Spróbuję niedługo przygotować jakiś działający prototyp.
Pozdrawiam -- Spook.
---------- Post dołączono o 22:41 ---------- Poprzedni post napisano o 22:35 ----------
To co mi najbardziej przeszkadza w kalkulatorach naukowych dostępnych w markecie, to próba odwzorowania UI standardowego kalkulatora (które zwłaszcza w przypadku wypasionych urządzeń jest delikatnie rzecz ujmując takie sobie...), na ekranie telefonu. Wydaje mi się, że użytkownik standardowo wykorzystuje kalkulator do pewnej grupy zadań - czyli bardzo rzadko jednocześnie jest mu potrzebny szybki dostęp do np. funkcji trygonometrycznych i logicznych, w przypadku statystyki, właściwie nie używa się wcale innych działań. Część funkcji, takich jak np. standardowo obsługiwane jednym klawiszem przełączanie jednostek kątowych nie jest używane właściwie wcale (jak ktoś jest geodetą, to sobie ustawia Grady, reszta po prostu stopnie, albo co najwyżej radiany.
Całkowicie się zgadzam - powiem więcej, nie podoba mi się, gdy jakikolwiek program próbuje wykorzystać wyświetlacz dotykowy jako imitację innego, istniejącego urządzenia lub interface'u. To się trochę mija z celem, wyświetlacz dotykowy rządzi się swoimi prawami konstrukcji interface'u użytkownika.
Może w ten sposób - małe okienko na wynik (ew. rozwijalne podobnie jak pasek powiadomień), mała klawiatura standardowa (0-9 i działania podstawowe) do tego sekcja na klawiaturę "specjalistyczną" z pogrupowanymi tematycznie guzikami - można zrobić tą sekcję przewijaną w poziomie podobnie jak pulpity w home.
Wygląda na to, że to będzie chyba najrozsądniejsze rozwiązanie - doszedłem do bardzo podobnych wniosków. Swype nad przyciskami już rozpracowałem i nawet całkiem fajnie działa, tyle że wygoda użytkowania na dłuższą metę jest mniejsza niż dotknięcie dwóch przycisków (przełączenie ekranu i wybór konkretnego przycisku). Z drugiej strony zadbałem o to, by przyciski były pogrupowane w taki sposób, by zminimalizować potrzebę przełączania ekranów (no chyba, że ktoś mocno zapragnie obliczyć sinusa z 0hff lub złożyć macierz z elementów potraktowanych bitowymi operacjami logicznymi).
Jeśli czas pozwoli, to niebawem wypuszczę jakąś wersję alpha, będzie można pobawić się interfacem i zobaczymy, który będzie wygodniejszy.
---------- Post dołączono o 22:45 ---------- Poprzedni post napisano o 22:41 ----------
Jeszcze jedno - zamiast shitf(ów) warto pomyśleć o takim rozwiązaniu jak przy wprowadzaniu "dziwnych" znaków na klawiaturze - po long press pokazuje się dodatkowy dialog z resztą funkcji - np. domyślnie masz pierwiastek kwadratowy, jak dociśniesz, to masz do wyboru pierwiastek n stopnia.
Owszem; przyznam jednak, że jestem dosyć zdecydowanym przeciwnikiem sposobu wprowadzania polskich liter w Androidzie. Pacnięcie w modyfikator + klawisz jest znacznie wygodniejszym (lub może: wydajniejszym, szybszym) rozwiązaniem niż przytrzymanie i wybranie konkretnej litery (która często jest po drugiej stronie ekranu). Myślałem tylko o tym, by po wybraniu przycisku (pojedynczym, krótkim pacnięciu) pojawiło się okienko z dodatkowymi opcjami do wyboru, taki panel kontekstowy, ale zostawię to sobie jako opcję, jeśli zawiodą pozostałe pomysły.
---------- Post dołączono o 22:49 ---------- Poprzedni post napisano o 22:45 ----------
Abstrahując od klawiatury, jeżeli w funkcjonalności kalkulatora będzie rysowanie wykresów, obliczanie innych ciekawych rzeczy to taki program będzie miał sens. Jeżeli nie - to będzie tylko kolejny kalkulator dostępny w markecie.
W tej chwili liczy liczby całkowite, rzeczywiste (także w postaci DMS), zespolone, ułamki zwykłe, macierze, listy i ciągi znaków; udostępnia standardowe operatory oraz dodatkowo binarne i logiczne; umożliwia definiowanie własnych funkcji ( f(x)=2*x ) oraz zmiennych i udostępnia funkcjonalność kalkulatora na zewnątrz w postaci content providera. Na początek wystarczy? 🙂 Docelowo będzie na pewno rysował wykresy 2D i 3D, a co dalej, to się zobaczy 🙂
Aha, oczywiście pracuje na wyrażeniach, nie na wciskanych klawiszach. Czyli 2+2*2=6, a nie 8 🙂