Spend the money and buy tmControls from Scott Rossi. Every app I have written is skinned the way I want it, and when I want something a little different, I'm able to customize them as I choose.
On Mon, Jun 27, 2016 at 2:41 PM, Richard Gaskin <ambassa...@fourthworld.com> wrote: > Ben Rubinstein wrote: > > > My previous mobile app dabbling had involved entirely custom > > interfaces. Now I'm trying to create a more straightforward app > > with a more conventional interface - and I'm getting a horrible > > dichotomy between the widgets (header bar, navigation bar, switch > > control, segmented control) and the traditional controls (radio > > buttons, sliders, progress bars, etc). The latter look fine > > on Mac; but on iOS, they've gone back to Motif, which is to say > > several decades. > > iOS does not contain the APIs to render Mac controls, so LC defaults to > its built-in Motif emulation. > > Most desktop controls are unsuitable for use on mobile anyway, so using > the types of mobile controls users are accustomed to is a better bet. > > Buttons are buttons, of course, and you can get very good appearances by > just changing the style to rectangle or roundRect, with whatever background > and hilite colors compliment your app's appearance. > > Radio control take up too much space on small devices. More commonly pick > lists are used, and LC provides commands to instantiate OS-native pick > lists on mobile. > > The closest fit for a radio control on mobile might be an option control, > which is what I use as the on-screen control the user clicks to bring up > the pick list. > > For those, and editable fields and scrollers, it took me about 10 minutes > to find the process of scripting the instantiation of their mobile-native > counterparts tedious to the point of feeling silly. So instead I wrote a > backscript that catches preOpenCard to do my instantiation for me. > > My lib examines the controls on the card and then calls > mobileControlCreate as needed, making editable text fields, scroll > interaction overlays, etc. as needed. > > Once I figured out that scrollers for fields are actually MUCH simpler > than the LC Lesson for that suggests, getting the basic functionality in > place took just a couple hours. In fact, given how liberating it is to be > able to use LiveCode objects on the desktop and have a lib automatically > take care of replacing them with their mobile-native counterparts, even > mapping relevant messages between them so I don't need to write as much > platform-forked code, I've been surprised this isn't included with LC > itself. > > I'm still making lots of changes to my lib as I work toward deployment, so > it's not yet in a sharable state. When it is I mkay dual-license it, but I > hope by then LC will just have something like this in the install; most > devs I've talked to have already written their own variants of this, and > like most things the code isn't the hard parts, it's designing how it > should work. Maybe one of the many others in our community is already > shared and usable.... > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > ambassa...@fourthworld.com http://www.FourthWorld.com > > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode