Giter Site home page Giter Site logo

Comments (3)

eltos avatar eltos commented on June 9, 2024 1

On the one hand, a radio icon makes a clearer distinction of options for the user, and it allows preset to be used (i.e. current setting).
On the other hand, the Material Design guide does not use the radio button for direct choices, and the user might not expect it's choice to be applied immediately. The "SINGLE_CHOICE_DIRECT" mode might also be used for purposes where the concept of a radio button choice does not really apply (i.e. actions).

I would probably rather add an option, so the developer can specify the layout/icon to be shown. Maybe with a default "AUTO" option that shows the radio buttons if there is a preset? One could also think of an arrow icon instead.

What do you think?

EDIT: method and constant names proposed below have changed!

SimpleListDialog.build()
    .title(R.string.select_one)
    .choiceMode(SimpleListDialog.SINGLE_CHOICE_DIRECT)

    .choicePreset(1)

    .items(getBaseContext(), R.array.choices)
    .show(this, CHOICE_DIALOG);

Automatically uses SimpleListDialog.ICON_SINGLE_CHOICE because a preset has been set

SimpleListDialog.build()
    .title(R.string.select_one)
    .choiceMode(SimpleListDialog.SINGLE_CHOICE_DIRECT)

    //.choicePreset(1)

    .items(getBaseContext(), R.array.choices)
    .show(this, CHOICE_DIALOG);

Automatically uses SimpleListDialog.ICON_NONE

SimpleListDialog.build()
    .title(R.string.select_one)
    .choiceMode(SimpleListDialog.SINGLE_CHOICE_DIRECT)

    .checkIcon(SimpleListDialog.ICON_ACTION)

    .items(getBaseContext(), R.array.choices)
    .show(this, CHOICE_DIALOG);

Explicitly setting icon

from simpledialogfragments.

mendhak avatar mendhak commented on June 9, 2024 1

I did some testing against your branch (via jitpack) and it looks quite good!

image

image

from simpledialogfragments.

mendhak avatar mendhak commented on June 9, 2024

Oh I had no idea the guidelines specified that. See, told you I'm not a UI person 😁

I was going by what ListPreference dialogs do, they show radio buttons - I'm basically using SimpleDialogFragments to replace some ListPreferences, but I guess those don't follow the guidelines.

Yes your idea is really good. Thanks for considering it and being accommodating.

(Paraphrasing here for my own understanding)

So by default just follow what the guidelines have said, a simple list of terms.

If there is a choicePreset, the dialog is saying to the user "here's what was chosen before, you can change that choice now". I think this particular line goes really well with ListPreference paradigm. That's it.

Finally the checkIcon thing is interesting, I hadn't even thought about that. It's a list of call to actions, could be a lot of possibilities.

from simpledialogfragments.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.