2009-05-12 6 views
78

Есть ли инструмент или веб-сайт, который мог бы помочь мне создать пользовательский интерфейс для приложения Android с помощью перетаскивания?Простой способ создания Android-интерфейса?

Я нашел this site, но хочу знать, есть ли для этого более стабильный инструмент или веб-сайт?

+0

[Update] Android-студия находится в бета-версии, но выглядит перспективным .. http://developer.android.com/sdk/installing/studio.html –

+0

[Основы Android UI для начинающих] (http://www.singhajit.com/android-ui-for- новички /) –

ответ

28

андроид Средства разработки (ADT) плагин для Eclipse, включает в себя визуальный редактор для файлов макет андроида приложения:

http://developer.android.com/tools/help/adt.html

+4

Особенно тот, который поставляется с Android SDK 1.5, намного лучше, чем DroidDraw. –

+8

Если у кого-то возникли проблемы с поиском (я знаю, что сделал), просто откройте свой main.xml в Eclipse. Если это не удается, щелкните его правой кнопкой мыши, выберите «Открыть с помощью> Редактор макетов Android». Если это не удается, ваш ADT может быть установлен неправильно. –

+12

Визуальный редактор в Eclipse сосет. Это действительно тормозит, позволяя пользователю правильно раскладывать вещи. –

5

Droiddraw хорош. Я использую его с тех пор и не сталкивался с какими-либо проблемами (хотя иногда он падает, но это нормально)

+3

«Иногда он падает, но это нормально» - это тоже моя мантра;) – demoncodemonkey

+0

«Иногда он падает, но это нормально» - lol. что заставило меня действительно посмеяться: D – mr5

8

DroidDraw представляется очень полезным. Он имеет чистый и простой интерфейс и является бесплатным. Доступно для Windows, Linux и Mac OS X. Я советую пожертвование.

Если вам это не нравится, вы должны взглянуть на this site. Есть и другие варианты и другие полезные инструменты.

+0

Ничего не делает для разработки родного Android с автономным нестационарным guis. –

+0

Кажется, DroidDraw мертв. Ссылка активна, но она показывает веб-страницу хоста домена.Его вакантное ~ –

0

Я обнаружил, что использование http://pencil.evolus.vn/ вместе с карандашом-трафаретами от проекта http://code.google.com/p/android-ui-utils/ работает исключительно хорошо. Очень прост в использовании, его очень легко макет тщательно продуманных конструкций

+0

Возможно, мне что-то не хватает, но, насколько я вижу, вы можете размещать вещи только на Nexus, и я не уверен, как получить xml-код для main.xml –

45

Позвольте мне быть единственным, кто может пощекотать реальность на эту тему. Для работы с Android нет хорошего графического интерфейса. Если вы работаете в среде GUI собственного приложения, например, Delphi, вы будете разочарованы в работе с редактором ADK и DroidDraw. Я несколько раз пытался работать с DroidDraw продуктивным способом, и я всегда возвращаюсь к тому, чтобы вручную переводить XML.

ADK - хорошая отправная точка, но это не так просто. Позиционирование компонентов в макетах - это кошмар. DroidDraw выглядит так, как будто это было бы фантастически, но я не могу даже открыть существующие, функциональные XML-макеты с ним. Это как-то теряет половину макета и не может потянуть изображения, которые я указал для кнопок, фона и т. Д.

Суровая реальность заключается в том, что пространство для разработчиков Android нуждается в гибкой, удобный, удобный инструмент разработки графического интерфейса, аналогичный используемому для разработки .NET и Delphi.

+9

Я согласен. Работа с макетами в Android - это абсолютная боль в заднице! –

+4

Я хочу, чтобы все они были полностью обработаны в CSS, когда речь идет о стилизации. –

+0

Вся инфраструктура графического интерфейса Android должна идти быстро. Это просто невозможно. –

0

Не сказать, что это лучший способ пойти, но его хорошо иметь варианты. Necessitas - это проект, который передает Qt в android. Он все еще находится на ранних стадиях и не обладает полным набором функций, но для тех, кто знает Qt и не хочет беспокоиться о страшном отсутствии хороших инструментов для Android UI, было бы разумно, по крайней мере, рассмотреть возможность использования этого.

1

http://www.appinventor.mit.edu/

Создание Inventor приложения App начинается в вашем браузере, где вы проектируете , как приложение будет выглядеть. Затем, например, при сборке кусочков головоломки, вы устанавливаете поведение своего приложения . Все время, через живое соединение между вашим компьютером и телефоном, ваше приложение появляется на вашем телефоне.

6

Вы также можете попробовать this.Если вам нравится концепция модель контроллера зрения и быстрого прототипирования, то я хотел бы сказать вам понравится идея позади него;)

SimpleUi (https://github.com/bitstars/SimpleUi)

Сформированный UI (код ниже):

enter image description here

The complete code to create this Android UI:

enter image description here

I использовать его в реальных приложениях, а не только для быстрого прототипирования или диалогов и его тестирования на протяжении многих лет. Концепция основана на принципе управления представлением модели, и для большинства распространенных сценариев есть готовые к использованию компоненты, которые автоматически выглядят корректно на любом устройстве. Я не говорю, что он должен использоваться для любого пользовательского интерфейса (например, списки должны выполняться вручную), но для большинства случаев это должно быть очень удобно;) Ох и не стесняйтесь разветвлять его и улучшать его, если хотите.

3

Это выглядит как более перспективное решение: IntelliJ Android UI Designer.

http://blogs.jetbrains.com/idea/2012/06/android-ui-designer-coming-in-intellij-idea-12/

+0

Это решение, похоже, не является «бесплатным пивом», одним из которых является – cmroanirgo

+1

«Бесплатное пиво» ​​в издании сообщества. – almalkawi

1

Это старый вопрос, который, к сожалению, даже через несколько лет, не имеет хорошее решение. Я просто портировал приложение из iOS (Obj C) на Android. Самой большой проблемой был не код конца (для многих/большинства людей, если вы можете закодировать в Obj C, вы можете закодировать на Java), но портировать собственные интерфейсы. Тодд сказал выше, макет пользовательского интерфейса по-прежнему является полной болью. По моему опыту, самый быстрый Wat для разработки надежного интерфейса, который поддерживает несколько форматов и т. Д., Находится в хорошем «HTML».

8

Самый простой способ с REBOL 3:

http://rebolforum.com/index.cgi?f=printtopic&permalink=Nick25-Aug-2013/10:08:38-7:00&archiveflag=new

Вот 10 полнофункциональные демо-программы, с ГПИ. Они работают на Android и рабочего стола ОСС, используя один и тот же код:

REBOL [] 
load-gui 
view [text "Hello World!"] 


REBOL [title: "Tiny Note Editor"] 
do %r3-gui.r3 ; download this file manually or just use load-gui as above 
view [ 
    a1: area 
    button "Save" on-action [write %notes.txt get-face a1] 
    button "Load" on-action [set-face a1 to-string read %notes.txt] 
] 


REBOL [title: "Data Entry to CSV File"] 
do %r3-gui.r3 
view [ 
    text "First Name:" 
    f1: field 
    text "Last Name:" 
    f2: field 
    button "Submit" on-action [ 
     write/append %cntcts.txt rejoin [ 
      mold get-face f1 " " mold get-face f2 newline 
     ] 
     request "" "Saved" 
    ] 
    a1: area 
    button "Load" on-action [set-face a1 to-string read %cntcts.txt] 
] 


REBOL [title: "Text File Reader (How to use a text list file selector)"] 
do %r3-gui.r3 
view [ 
    a1: area 
    button "Load" on-action [ 
     files: read %./ 
     view/modal [ 
      text "File Name:" 
      t2: text-list files on-action [ 
       set-face a1 to-string read(to-file pick files get-face t2) 
       unview 
      ] 
     ] 
    ] 
] 


REBOL [title: "List-View (Grid) Example"] 
do %r3-gui.r3 
view [ 
    text-table ["1" 200 "2" 100 "3"][ 
     ["asdf" "a" "4"] 
     ["sdfg" "b" "3"] 
     ["dfgh" "c" "2"] 
     ["fghj" "d" "1"] 
    ] 
] 


REBOL [title: "Calculator"] 
do %r3-gui.r3 
stylize [ 
    btn: button [ 
     facets: [init-size: 50x50] 
     actors: [on-action:[set-face f join get-face f get-face face]] 
    ] 
] 
view [ 
    hgroup [ 
     f: field return 
     btn "1" btn "2" btn "3" btn " + " return 
     btn "4" btn "5" btn "6" btn " - " return 
     btn "7" btn "8" btn "9" btn " * " return 
     btn "0" btn "." btn "/" btn "=" on-action [ 
      attempt [set-face f form do get-face f] 
     ] 
    ] 
] 


REBOL [title: "Sliding Tile Puzzle"] 
do %r3-gui.r3 
stylize [ 
    p: button [ 
     facets: [init-size: 60x60 max-size: 60x60] 
     actors: [ 
      on-action: [ 
       t: face/gob/offset 
       face/gob/offset: x/gob/offset 
       x/gob/offset: t 
      ] 
     ] 
    ] 
] 
view/options [ 
    hgroup [ 
     p "8" p "7" p "6" return 
     p "5" p "4" p "3" return 
     p "2" p "1" x: box 60x60 white 
    ] 
] [bg-color: white] 


REBOL [title: "Math Test"] 
do %r3-gui.r3 
random/seed now 
x: does [rejoin [random 10 " + " random 20]] 
view [ 
    f1: field (x) 
    text "Answer:" 
    f2: field on-action [ 
     either (get-face f2) = (form do get-face f1) [ 
      request "Yes!" "Yes!"][request "No!" "No!" 
     ] 
     set-face f1 x 
     set-face f2 "" 
     focus f2 
    ] 
] 


REBOL [title: "Minimal Cash Register"] 
do %r3-gui.r3 
stylize [fld: field [init-size: 80]] 
view [ 
    hgroup [ 
     text "Cashier:" cashier: fld 
     text "Item:"  item: fld 
     text "Price:"  price: fld on-action [ 
      if error? try [to-money get-face price] [ 
       request "Error" "Price error" 
       return none 
      ] 
      set-face a rejoin [ 
       get-face a mold get-face item tab get-face price newline 
      ] 
      set-face item copy "" set-face price copy "" 
      sum: 0 
      foreach [item price] load get-face a [ 
       sum: sum + to-money price 
      ] 
      set-face subtotal form sum 
      set-face tax form sum * .06 
      set-face total form sum * 1.06 
      focus item 
     ] 
     return 
     a: area 600x300 
     return 
     text "Subtotal:" subtotal: fld 
     text "Tax:"  tax: fld 
     text "Total:"  total: fld 
     button "Save" on-action [ 
      items: replace/all (mold load get-face a) newline " " 
      write/append %sales.txt rejoin [ 
       items newline get-face cashier newline now/date newline 
      ] 
      set-face item copy "" set-face price copy "" 
      set-face a copy "" set-face subtotal copy "" 
      set-face tax copy "" set-face total copy "" 
     ] 
    ] 
] 


REBOL [title: "Requestors"] 
do %r3-gui.r3 
x: request/ask "Question" "Do you like this?." 
either x = false [print "No!"] [print "Yes!"] 
x: request/custom "" "Do you like this?" ["Yay" "Boo"] 
either x = false [print "Boo!"] [print "Yay!"] 
view [button "Click me" on-action[request "Ok" "You clicked the button."]] 
+1

+1 Приятно, я не хочу быть саркастичным, но похоже, мне нужна степень магистра, чтобы понять этот код. Выглядит просто, но это дало мне ощущение, что я пишу все это на собраниях? –

Смежные вопросы