Чи існує інструмент або веб-сайт, який міг би допомогти мені створити інтерфейс користувача для програми Android за допомогою перетягування?
Я знайшов цей сайт, але хочу знати, чи існує для цього більш стабільний інструмент чи веб-сайт?
Чи існує інструмент або веб-сайт, який міг би допомогти мені створити інтерфейс користувача для програми Android за допомогою перетягування?
Я знайшов цей сайт, але хочу знати, чи існує для цього більш стабільний інструмент чи веб-сайт?
Відповіді:
Дозвольте мені бути тим, хто вдарить трохи реальності на цю тему. Немає хорошого графічного інтерфейсу для роботи з Android. Якщо ви походите із середовища графічного інтерфейсу програми, як, скажімо, Delphi, ви, на жаль, будете розчаровані досвідом роботи з редактором ADK та DroidDraw. Я кілька разів намагався продуктивно працювати з DroidDraw, і я завжди повертаюся до прокатки XML вручну.
ADK є гарною відправною точкою, але користуватися ним непросто. Розміщення компонентів у макетах - це кошмар. DroidDraw здається фантастичним, але я навіть не можу відкрити існуючі, функціональні XML-макети за допомогою нього. Він якимось чином втрачає половину макета і не може втягнути зображення, які я вказав для кнопок, фонів тощо.
Сувора реальність полягає в тому, що місце для розробників Android гостро потребує гнучкого, простого у використанні, надійного інструменту розробки графічного інтерфейсу, подібного до тих, що використовуються для розробки .NET та Delphi.
Плагін Android Development Tools (ADT) для Eclipse включає візуальний редактор для файлів макета додатків для Android:
Найпростіший спосіб - за допомогою 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."]]
Ви також можете спробувати це . Якщо вам подобається концепція контролера перегляду моделі та швидке прототипування, тоді я б сказав, що ідея, що стоїть за ним, вам сподобається;)
SimpleUi (https://github.com/bitstars/SimpleUi)
Створений інтерфейс користувача (код нижче):
Повний код для створення цього інтерфейсу Android :
Я використовую його в реальних додатках, не тільки для швидкого створення прототипів або діалогів, і його добре перевірено роками. Концепція базується на принципі керування переглядом моделі, і для найбільш поширених сценаріїв є готові до використання компоненти, які автоматично виглядають правильно на будь-якому пристрої. Я не кажу, що його слід використовувати для будь-якого інтерфейсу користувача (наприклад, перегляди списків слід робити вручну), але для більшості випадків використання це має бути дуже зручно;) О, сміливо розкладайте його та вдосконалюйте, якщо хочете
Droiddraw - це добре. Я використовую його з давніх пір і ще не стикався з проблемами (хоча іноді він аварійно завершує роботу, але це нормально)
https://play.google.com/store/apps/details?id=com.mycompany.easyGUI спробуйте цей інструмент не безкоштовно, але пропонує простий спосіб створення інтерфейсу Android на вашому телефоні
Це виглядає як більш перспективне рішення: IntelliJ Android UI Designer.
http://blogs.jetbrains.com/idea/2012/06/android-ui-designer-coming-in-intellij-idea-12/
http://www.appinventor.mit.edu/
Створення програми App Inventor починається у вашому браузері, де ви розробляєте, як виглядатиме програма. Потім, подібно до складання частин головоломки, ви встановлюєте поведінку свого додатка. Протягом усього часу, через активний зв’язок між комп’ютером та телефоном, на вашому телефоні з’являється ваша програма.
Це давнє питання, яке, на жаль, навіть кілька років по тому не має хорошого рішення. Я щойно переніс додаток з iOS (Obj C) на Android. Найбільшою проблемою був не задній код (для багатьох / більшості людей, якщо ви можете кодувати в Obj C, ви можете кодувати на Java), а перенесення власних інтерфейсів. Те, що Тодд сказав вище, розмітка інтерфейсу все ще є цілком болем. На моєму досвіді, найшвидший процес розробки надійного інтерфейсу, який підтримує декілька форматів тощо, - це хороший HTML-код.
Я виявив, що використання http://pencil.evolus.vn/ разом із трафаретами-олівцями з проекту http://code.google.com/p/android-ui-utils/ працює надзвичайно добре. Дуже простий у використанні, дуже простий у знущанні над складними конструкціями
Не кажучи, що це найкращий шлях, але добре мати варіанти. Necessitas - це проект, який переносить Qt на Android. Він все ще перебуває на початковій стадії і не має повноцінних функцій, але для тих, хто знає Qt і не хоче турбуватися через жахливу відсутність хороших інструментів для інтерфейсу Android, було б розумно хоча б подумати про використання цього.