Android UIを構築する簡単な方法は?[閉まっている]


82

ドラッグアンドドロップを使用してAndroidアプリケーションのUIを作成するのに役立つツールまたはWebサイトはありますか?

私はこのサイトを見つけましたが、これのためのより安定したツールまたはウェブサイトがあるかどうか知りたいですか?


[更新]のAndroid Studioは、ベータ版ではあるが、有望に見える... developer.android.com/sdk/installing/studio.html
サイードQarib

回答:


46

私がこのトピックに少し現実を打ち込む人になることを許可します。Androidを操作するための優れたGUIツールはありません。DelphiなどのネイティブアプリケーションGUI環境を使用している場合、ADKエディターとDroidDrawのユーザーエクスペリエンスに残念ながら失望するでしょう。私はDroidDrawを生産的な方法で操作することを何度か試みましたが、常にXMLを手動でローリングすることに戻ります。

ADKは良い出発点ですが、使いやすいものではありません。レイアウト内にコンポーネントを配置することは悪夢です。DroidDrawは素晴らしいように見えますが、既存の機能的なXMLレイアウトを開くことすらできません。どういうわけかレイアウトの半分が失われ、ボタンや背景などに指定した画像を取り込むことができません。

厳しい現実は、Android開発者スペースが.NETやDelphi開発に使用されるものと同様の柔軟で使いやすく堅牢なGUI開発ツールを切実に必要としているということです。


9
同意する。Androidでレイアウトを操作することは、お尻の絶対的な苦痛です!
クリスB

4
スタイリングに関しては、CSSを支持してXMLを完全に捨ててほしいと思います。
WKS 2013年

AndroidGUIフレームワーク全体を高速で実行する必要があります。使えないだけです。
g_V 2014

@G_V:IDEではなくビジュアルコントロールを参照している場合は、違うと思います。私はそれを数年使用しています、そして私はそれでかなり快適です。
Todd Grigsby 2014

28

Eclipse用のAndroidDevelopment Tools(ADT)プラグインには、Androidアプリケーションレイアウトファイル用のビジュアルエディターが含まれています。

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


4
特にAndroidSDK 1.5に付属しているものは、DroidDrawよりもはるかに優れています。
Isaac Waller

8
誰かがこれを見つけるのに問題がある場合(私が見つけたのは知っています)、Eclipseでmain.xmlを開くだけです。それが失敗した場合は、それを右クリックして、[プログラムから開く]> [Androidレイアウトエディター]を選択します。それが失敗した場合は、ADTが正しくインストールされていない可能性があります。
mSpeed 2010

12
Eclipseのビジュアルエディターは最悪です。それは、ユーザーが物事を適切にレイアウトできるようにすることを本当に阻害しています。
IgorGanapolsky

@IgorGanapolsky Eclipseよりも優れているものは何ですか?、何を提案しますか?
Mahmoud Farahat 2013

1
個人的には、ADTのGUIビルダーは使いやすく直感的ではありません。真剣に、そのビルダーはグーグルを悪く見せます。
2014年

8

最も簡単な方法は、REBOL3を使用することです。

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."]]

1
+1いいですね、皮肉を言うつもりはありませんが、このコードを理解するには別の修士号が必要なようです。シンプルに見えますが、これをすべてアセンブリで書いているような気がしましたか?
ネオンウォージ2016

7

DroidDrawはとても便利なようです。クリーンで簡単なインターフェースを備えており、フリーウェアです。Windows、Linux、Mac OSXで利用できます。寄付をお勧めします。

気に入らない場合は、こちらのサイトをご覧ください。他のいくつかのオプションと他の便利なツールがあります。


オフラインの非静的GUIを使用したネイティブAndroid開発には何もしません。
g_V 2014

DroidDrawは死んでいるようです。リンクはアクティブですが、ドメインのホストWebページが表示されます。その空いている〜
ネオンWarge

6

これを試すこともできます。モデルビューコントローラーの概念とラピッドプロトタイピングが好きなら、その背後にあるアイデアが好きになると思います;)

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

生成されたUI(以下のコード):

ここに画像の説明を入力してください

このAndroidUIを作成するための完全なコード

ここに画像の説明を入力してください

ラピッドプロトタイピングやダイアログだけでなく、長年にわたって十分にテストされた実際のアプリケーションで使用しています。この概念はモデルビュー制御の原則に基づいており、ほとんどの一般的なシナリオでは、どのデバイスでも自動的に正しく見えるコンポーネントをすぐに使用できます。UIに使用する必要があるとは言いませんが(たとえば、リストビューは手動で行う必要があります)、ほとんどのユースケースでは、これは非常に便利です;)ああ、必要に応じて、自由にフォークしてさらに改善してください。


4

Droiddrawは良いです。私は長い間それを使用していて、まだ問題に直面していません(時々クラッシュしますが、それは大丈夫です)


3
「時々クラッシュしますが、それは大丈夫です」-それも私のマントラです;)
demoncodemonkey 2009年

「時々クラッシュしますが、大丈夫です」-笑。それは私を本当に笑わせました:D
mr5 2014



1

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

App Inventorアプリの作成は、アプリの外観を設計するブラウザーで始まります。次に、パズルのピースを組み合わせるように、アプリの動作を設定します。その間、コンピューターと電話の間のライブ接続を介して、アプリが電話に表示されます。


1

これは古い質問です。残念ながら、数年経っても良い解決策はありません。iOS(Obj C)からAndroidにアプリを移植しました。最大の問題は、バックエンドコード(多くの人/ほとんどの人にとって、Obj Cでコーディングできる場合はJavaでコーディングできる)ではなく、ネイティブインターフェイスの移植でした。トッドが上で言ったことは、UIレイアウトはまだ完全な苦痛です。私の経験では、複数の形式などをサポートする信頼性の高いUIを開発するための最速の方法は、優れたHTMLです。


0

http://pencil.evolus.vn/http://code.google.com/p/android-ui-utils/プロジェクトの鉛筆ステンシルと一緒に使用すると非常にうまく機能することがわかりました。使い方はとても簡単で、手の込んだデザインをモックアップするのはとても簡単です


何かが足りないかもしれませんが、私が見る限り、Nexusにしか配置できず、main.xmlのxmlコードを取得する方法がわかりません
the_new_mr

0

これが最善の方法であるとは言いませんが、選択肢があるのは良いことです。Necessitasは、QtをAndroidに移植するプロジェクトです。それはまだ初期段階であり、完全な機能が不足していますが、Qtを知っていて、Android UI用の優れたツールのひどい不足に悩まされたくない人にとっては、少なくともこれを使用することを検討するのが賢明です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.