Viewやイベントをブロックで組んでいく感じで、プログラミング入門ゲーム「Scratch」に似てる
既存のブロックの組み合わせで作るので、Android標準のマニアックなViewは用意されていないので使えない
ところが、
ブロック作成にて「Operator」のなかにソースコードをゴリゴリに書けるブロックがあった
なので、Android標準のViewオブジェクト「Snackbar」を作ってみた
アプリ作成
ボタンを押下したら、「Snackbar」が表示されるアプリを作ってくアプリを新規作成
とりあえずアプリ名は「test」で
View側の作成
今回はボタンだけあればいい
左の一覧からボタンをドラッグして、Activityの任意の位置にドロップする
ロジック側の作成
View側でボタンを作ると、ここにボタン押下時の処理を書ける
このとき「More Block」⇒ 「Create」でスナックバーを呼び出すブロックを作る
ブロックの作成
ブロック名は適当でいい。今回は「Snackbar」としておく
二段目で引数を決められる。スナックバーに表示するメッセージを動的に変化させたければ、添付画像のように「message」とか引数名を決めて、ADDを押せば引数付ブロックが作れる。 今回は触らずにいく。
タイトルバーにある「CREATE」でブロック作成完了
あとは、作ったブロックをクリック処理と合体させる
これで、アプリ起動でボタンが表示される画面、ボタン押下で「Snackbar」ブロックが動作するアプリが出来上がり!
次の項目で、「Snackbar」ブロックのイベントを実装する
Event内容をゴリゴリ実装する
Eventブロック「Snackbar」を実装する「Snackbar」を押下
「Operator」 ⇒ 「add source directly」をくっつける
ここにソースコード直書きできる
ソースコードレベルで見たとき、こいつはActivityのpubicメソッドとして扱われる為、
Activityのメソッドは全部使える
ただし、一行で書かないといけないので、可読性は期待できない
こんな感じ
コードの意味は
// Activityに設定しているViewの内適当に一つViewを取得 View view = findViewById(R.id.button1); // importができないのでクラス名はフルで書く android.support.design.widget.Snackbar snackbar; // インスタンスを取得 // 第一引数はActivityに設定しているViewなら何でもいい. // SnackbarはViewインスタンスから勝手にView階層をさかのぼってくれるので snackbar = android.support.design.widget.Snackbar.make( view, "Snackbarの表示", android.support.design.widget.Snackbar.LENGTH_SHORT); // 表示する snackbar.show();実は、Snackbarはサポートライブラリなので、AndroidStudioでも普通には使えない
当然「Sketchware」も使えない。なので、サポートライブラリを使えるように設定する
上図一番右の画面のフラグを有効にしておけばOK
あとはビルドすれば完成
0 件のコメント:
コメントを投稿