Closed agwells closed 8 years ago
DotDash has basically three display components:
I can get some modernization in items 1 & 2 just by changing my "target SDK" when building the project (which shouldn't hurt backwards-compatibility with ancient Android versions). For instance, in my Android 5.0 LG G2 Mini, it shows the cheat sheet and config with a white background and black text. This unfortunately hurts the readability of the cheat sheet, so I'll need to work on that to make sure it "pops" properly. Maybe just putting them in bold. Or replacing those tiny periods with unicode dots. Or I could replace the whole thing with an image, although I have qualms about that scaling properly. Perhaps if I used vector graphics?
For the keyboard, life is more difficult. The way to substantially change the appearance of keys is by using the KeyboardView's keyBackground property, which requires you to define 8 different images representing all permutations of whether the key is pressed, checkable (like the Caps Lock), and checked. And I am not a graphic designer! So I may look around through other open source Android keyboards and see if any of them have graphics I can use.
Hm, actually Hacker's Keyboard (from which I have already incorporated some code), seems to have a range of different keyboard graphics for different versions of Android... unfortunately ending in 2013 when the project was last updated. I'll see if those will work for me.
Actually here's an even better idea. Just take the keyboard styling from the Android Open Source Project keyboard (which, weirdly, is apparently is not the same as the default styling you get if you make a new keyboard using the KeyboardView class.) It's Apache Software License 2 so it should be fine to include in my GPL3 DotDash. https://android.googlesource.com/platform/packages/inputmethods/LatinIME/
Another possibility would be to port the theme system from AnySoftKeyboard, which is also ASL2 licensed: https://github.com/AnySoftKeyboard/AnySoftKeyboard
I wonder if it might make sense to actually rewrite DotDash from the ground up, using AOSP or AnySoftKeyboard as my "base" instead of the generic Android KeyboardView class? I guess I should investigate whether they support some of the UI behaviors that I've been needing which KeyboardView does not, like proper multitouch support.
Fixed in 1.2.0! I mostly just adapted some of the key graphics from the stock Android keyboard.
One reviewer on the Google store mentioned how DotDash keyboard could use an update in its appearance. This is probably true. I originally wrote it for Android 2.0, and the appearance of Android apps has moved on considerably since then.