简单的方法来构buildAndroid用户界面?

有没有工具或网站,可以帮助我使用拖放创buildAndroid应用程序的用户界面?

我发现这个网站,但想知道这是否有一个更稳定的工具或网站?

让我成为这个话题上的一点点现实。 没有好的与Android工作的GUI工具。 如果您来自像Delphi这样的本地应用程序GUI环境,那么您将会对ADK编辑器和DroidDraw的用户体验感到失望。 我已经尝试过多次用DroidDraw进行高效的工作,而且我总是手工回滚XML。

ADK是一个很好的起点,但它不易使用。 在布局中定位组件是一场噩梦。 DroidDraw看起来像是太棒了,但我甚至无法用它打开现有的,function性的XML布局。 它以某种方式失去了一半的布局,无法拉入我为button,背景等指定的图像

严峻的现实是,Android开发人员空间迫切需要一种类似于.NET和Delphi开发所使用的灵活,易用,强大的GUI开发工具。

用于Eclipse的Android开发工具(ADT)插件包含一个用于android应用程序布局文件的可视化编辑器:

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

DroidDraw似乎是非常有用的。 它有一个干净和简单的界面,它是一个免费软件。 适用于Windows,Linux和Mac OS X.我build议捐赠。

如果你不喜欢,你应该看看这个网站 。 还有其他一些选项和其他有用的工具。

最简单的方法是用REBOL 3:

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

这里有10个function齐全的演示程序,带有GUI。 这些在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);

生成的UI(代码如下):

在这里输入图像说明

创build此Android UI的完整代码 :

在这里输入图像说明

我在真实应用中使用它,不仅用于快速原型或对话,而且多年来经过了良好的testing。 这个概念是基于模型视图控制原理的,对于大多数常见的情况,准备使用自动在任何设备上正确显示的组件。 我没有说它应该用于任何用户界面(例如列表视图应该用手工完成),但对于大多数用例来说,这应该是相当方便的;)哦,随便叉,并进一步提高,如果你想

Droiddraw很好。 我一直在使用它,并且还没有遇到任何问题(虽然它有时会崩溃,但那是可以的)

这看起来像一个更有前途的解决scheme:IntelliJ Android UIdevise器。

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

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

创build一个App Inventor应用程序开始在您的浏览器中,在那里你devise应用程序的外观。 然后,像assembly拼图一样,你设置你的应用程序的行为。 一直以来,通过您的电脑和手机之间的实时连接,您的应用程序将显示在手机上。

这是一个古老的问题,不幸的是即使几年也没有一个好的解决scheme。 我刚从iOS(Obj C)移植了一个应用程序到Android。 最大的问题不在于后端代码(对于很多/大多数人来说,如果你可以在Obj C中编码,你可以用Java编写代码),而是移植本地接口。 托德上面说了什么,用户界面布局仍然是一个完整的痛苦。 根据我的经验,开发支持多种格式的可靠用户界面的最快的扫描仪是好的。

不是说这是最好的select,而是select。 Necessitas是一个将Qt移植到android的项目。 它还处于早期阶段,缺乏完整的function,但对于那些了解Qt并且不想为Android UI缺乏好工具的人来说,明智的做法是至less考虑使用它。