【Monaca】Onsen UI V2 + Angular JS V1 最新バージョンのプロジェクト作成方法

Monacaの「Onsen UI and Angular 1」のテンプレートは、Onsen UI V2のバージョンが古いため、Onsen UIの不具合と気がつかずに開発・検証を進め、必要以上の時間がかかる場合がある。
今回は、テンプレートを使用せずに、Onsen UI V2 + Angular JS V1 最新バージョンのプロジェクト作成方法を紹介する。
Continue reading

【Monaca】ons-splitterのスワイプを制御する(Onsen UI v2)

※Onsen UI v2
ons-splitter-sideに設定したidを取得し、swipeableを取ったり付けたりして制御する。

【Monaca】Ionic Color Pickerっぽい機能を実現する

※Onsen UI + AngularJSを使用。
アプリにカラーピッカーのような機能を実現したいと思っていたところ、
Ionic Color Picker – Ionic Marketplace
というページを見つけ、早速それっぽい機能を実現してみた。

新規プロジェクトから「Onsen UI V2 Angular 1 Minimum」を作成。
$watchCollection()colorオブジェクトの変更を検知し、RGBのHEXコードを生成している。


Continue reading

【Monaca】ons-list-itemをドラッグ&ドロップで並び替える・その2

Onsen UI V2対応はこちらから。


※11/22再編集
前回の「【Monaca】ons-list-itemをドラッグ&ドロップで並び替える」で記載したコードにはいくつか問題点があった。
ons-list-itemの背景色でわかりにくかったが、helper(移動中のons-list-item)のborder-topが消えたり、一番下のons-list-itemを移動させると、下から二番目のons-list-itemが下がるが、ons-listborder-bottomons-list-item)のborder-bottomが重なって線が太くなるなど。

二日間もいろいろと試した結果、下記のコードになった。
【Monaca】Onsen UI ons-list のズレをなくす」で紹介したCSSを適用することで面倒なborder-topborder-bottomの処理を軽減することができた。
また、「三」のアイコンをドラッグすることで入れ替えが行われるように変更した。
それから、style.cssでは、CSSによる変化が確認できるようにあえて色を変えているので、コードを流用する場合は注意していただきたい。
Continue reading

【Monaca】ons-list-itemをドラッグ&ドロップで並び替える

Onsen UI V2対応はこちらから。


※Onsen UI + AngularJSを使用。
以下のファイルを準備する。
jquery-3.1.1.min.js
jquery-ui.min.js
jquery.ui.touch-punch.min.js
④jquery-ui.min.css(②zipに同梱)
jsフォルダに上記①~③ファイルとapp.jsを配置する。
cssフォルダに上記④ファイルとstyle.cssを配置する。

$scope.tableに初期データを設定し、ons-listで一覧を表示する。
ons-list-itemをドラッグ&ドロップし、[Check Table]ボタンを押下すると、コンソールに並び替えた$scope.tableの内容が表示される。
———-
ルメール
戸崎
川田
デムーロ
福永

2016-11-17-20-42-44 2016-11-17-20-45-21

index.html

app.js

ons-list-itemの高さが45px(奇数)だと、ドラッグ&ドロップの際に毎回ズレが生じるため、44pxに変更している。
(jquery-ui.min.jsの処理で高さの1/2を算出する処理があるため。)

style.css

【Monaca】Onsen UI 選択したデータを前画面に渡す

JavaScript + Onsen UI V2版はこちら。

※Onsen UI + AngularJSを使用。

ons-navigatorpushPage()popPage()を利用すれば、次画面に進み、前画面に戻ることが実現できる。
しかし、次画面で選択したデータを前画面に渡す方法は記載がない。
$rootScope.$broadcast()を利用して親コントローラ(page1Controller)にデータを渡し、$scope.$on()で受け取ればよい。

Page1で「ここをタップ」をタップし、Page2で「1000」をタップすると、Page1に戻り「1000」と表示される。
2983291e-9b3c-42cf-b5bc-8094b371f7c9 4c4aee94-6c9d-419f-8ca4-138286fd7463 7693ddf9-229c-4d9f-8b0a-642ccabe47f2
Continue reading

【Monaca】Onsen UIでnend広告が表示されない

最新記事はこちら。


Onsen UIを使用してnend広告を表示させようと、下記コードを設置しても表示されない。(※テスト用コード)
どうして?と悩む方も多いと思う。
2016-06-08-10-00-22

答えは簡単。
実際は広告が表示されているが、Onsen UIはCSSでz-indexを使用しているため、Onsen UIが表示した画面の裏に隠れてしまう。
広告用のコードをdivタグで囲い、z-index: 99でOnsen UIが表示した画面の上に表示させる。
既存のブラウザで表示させたい場合は、【Monaca】nend広告を既存ブラウザで表示するを参照。
2016-06-08-10-03-43

【Monaca】Onsen UI ons-list のズレをなくす

Onsen UIはすばらしいフレームワークだが、MonacaのAndroid用アプリで使用すると難点もある。
例えば、ons-list
iPhoneの設定画面のようなイメージの画面が再現できる。
2016-06-06-18-27-47

しかし、使い方によっては問題が発生する。
例えば、左はons-listを5回使用した場合、右はons-list-itemを5回使用した場合。
ご覧のとおり、同じ並びを期待するもズレが発生してしまう。
2016-06-06-18-28-03
Continue reading

【Monaca】メニューアイコンのバッジをカウントさせる

2016040402

前回、「【Monaca】Onsen UIのツールバーのメニューアイコンにバッジを表示する」にてバッジを表示させたが、今回はバッジのカウント機能を追加してみた。
コード内のコメントに書いたとおり、一つ一つの処理を理解すれば難しいことはない。
メニューのPage1をタップすると、カウントが5から1ずつ減る。
バッジの表示・非表示はng-showで行っており、page1Controller内のmenuCountが0になれば表示されない。
2016041501
2016041502
Continue reading