드래그 앤 드롭을 사용하여 Android 애플리케이션 용 UI를 만드는 데 도움이되는 도구 나 웹 사이트가 있습니까?
이 사이트를 찾았 지만 더 안정적인 도구 나 웹 사이트가 있는지 알고 싶습니까?
답변:
제가이 주제에 대해 약간의 현실을 다룰 수있게 해주세요. Android 작업에 적합한 GUI 도구는 없습니다. Delphi와 같은 네이티브 애플리케이션 GUI 환경에서 온 경우 ADK 편집기 및 DroidDraw의 사용자 경험에 슬프게도 실망 할 것입니다. 저는 생산적인 방식으로 DroidDraw로 작업하기 위해 여러 번 시도해 왔으며 항상 XML을 수동으로 롤링합니다.
ADK는 좋은 시작점이지만 사용하기 쉽지 않습니다. 레이아웃 내에 구성 요소를 배치하는 것은 악몽입니다. DroidDraw는 환상적 일 것 같지만 기존의 기능적인 XML 레이아웃을 열 수도 없습니다. 어떻게 든 레이아웃의 절반을 잃고 버튼, 배경 등에 대해 지정한 이미지를 가져올 수 없습니다.
극명한 현실은 Android 개발자 공간에 .NET 및 Delphi 개발에 사용되는 것과 유사한 유연하고 사용하기 쉬운 강력한 GUI 개발 도구가 절실히 필요하다는 것입니다.
Eclipse 용 ADT (Android 개발 도구) 플러그인에는 Android 애플리케이션 레이아웃 파일 용 시각적 편집기가 포함되어 있습니다.
가장 쉬운 방법은 REBOL 3을 사용하는 것입니다.
http://rebolforum.com/index.cgi?f=printtopic&permalink=Nick25-Aug-2013/10:08:38-7:00&archiveflag=new
다음은 GUI와 함께 완벽하게 작동하는 10 개의 데모 프로그램입니다. 이들은 정확히 동일한 코드를 사용하여 Android 및 데스크톱 OS에서 실행됩니다 .
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."]]
DroidDraw 는 매우 유용한 것 같습니다. 깨끗하고 쉬운 인터페이스를 가지고 있으며 프리웨어입니다. Windows, Linux 및 Mac OS X에서 사용할 수 있습니다. 기부를 조언합니다.
마음에 들지 않으면 이 사이트를 참조하십시오 . 다른 옵션과 기타 유용한 도구가 있습니다.
당신은 또한 이것을 시도 할 수 있습니다 . 모델 뷰 컨트롤러 개념과 빠른 프로토 타이핑이 마음에 든다면 그 뒤에있는 아이디어가 마음에 드실 것입니다.)
SimpleUi (https://github.com/bitstars/SimpleUi)
생성 된 UI (아래 코드) :
빠른 프로토 타이핑이나 대화 상자뿐만 아니라 수년 동안 잘 테스트 된 실제 응용 프로그램에서 사용합니다. 이 개념은 모델보기 제어 원리를 기반으로하며 대부분의 일반적인 시나리오에서 모든 장치에서 자동으로 올바르게 보이는 구성 요소를 사용할 준비가되어 있습니다. 어떤 UI에도 사용되어야한다고 말하지는 않지만 (예 : 목록보기는 손으로해야 함) 대부분의 사용 사례에서 이것은 매우 편리 할 것입니다;) 아 그리고 원하는 경우 자유롭게 포크하고 더 개선 할 수 있습니다.
Droiddraw가 좋습니다. 나는 오랫동안 그것을 사용해 왔고 아직 문제에 직면하지 않았습니다 (가끔 충돌하지만 괜찮습니다)
https://play.google.com/store/apps/details?id=com.mycompany.easyGUI 이 도구는 무료가 아니지만 휴대 전화에서 Android UI를 만드는 간단한 방법을 제공합니다.
이것은 더 유망한 솔루션 인 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 앱 만들기는 앱의 모양을 디자인하는 브라우저에서 시작됩니다. 그런 다음 퍼즐 조각을 맞추는 것처럼 앱의 동작을 설정합니다. 그 동안 컴퓨터와 휴대폰 간의 실시간 연결을 통해 앱이 휴대폰에 나타납니다.
http://code.google.com/p/android-ui-utils/ 프로젝트 의 연필 스텐실과 함께 http://pencil.evolus.vn/ 을 사용하면 매우 잘 작동 한다는 것을 알았 습니다. 사용하기 매우 간단하고 정교한 디자인을 모의하기가 매우 쉽습니다.
이것이 최선의 방법이라고 말하는 것이 아니라 옵션을 갖는 것이 좋습니다. Necessitas 는 Qt를 안드로이드로 포팅하는 프로젝트입니다. 아직 초기 단계에 있으며 완전한 기능이 부족하지만 Qt를 알고 있고 Android UI에 대한 좋은 도구가 끔찍하게 부족한 것에 대해 고민하고 싶지 않은 사람들에게는 적어도 이것을 사용하는 것이 현명 할 것입니다.