Archive for the ‘Javascript’ Category

 

titanium mobile : searchbar の高さがandroidでズレる。他

3月 30th, 2013

http://developer.appcelerator.com/question/129136/searchbar-cutoff-in-android iosでは綺麗ですが、androidのsearch bar は不格好。。。 これスタイル調整重要ですね。 とりあえず高さが上にくっついているので top: (isAndroid) ? 2: 0, のように振り分ける形で良さそうです。 === http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.SearchBar androidで起動時にsearchbarにfocusがあるので、キーボードがでる。。。 searchbar.blur(); を起動時に呼び出すとかでは上手く動かない? window生成時に { windowSoftInputMode:Ti.UI.Android.SOFT_INPUT_STATE_HIDDEN } を入れると大丈夫でした。 === search return 時に blurしないとfocusが取れない。 searchbar.addEventListener(‘return’,function(){ searchbar.blur(); } ); みたいな感じで外す。 * しかし、blurが効かない・・・のでdocsにあるようにhide and showをします。 searchBar.blur(); if( Ti.Platform.osname == ‘android’){ searchBar.value = ”; searchBar.hide(); searchBar.show(); } でもなんかイマイチなので諦めます。 テキストエリアの文字を消すというのが・・・

Read full article | コメントは受け付けていません。

titanium mobile : Titanium.Platform.DisplayCaps

3月 29th, 2013

width アンドロイドはpixels, ios は dipが返されるようです。 (dip : Device independent pixel (also: density-independent pixel) Absolute width of the display in relation to UI orientation. Measured in platform-specific units; pixels on Android and density-independent pixels (dip) on iOS. http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.Platform.DisplayCaps iPhone 320 x480 iPad 768 x 1024 : 720 に併せて。 なので。 android は small 320 – iphone共通 medium […]

Read full article | コメントは受け付けていません。

titanium mobile : eventlistenerの削除とか

3月 29th, 2013

tableviewでスクロールされたら画像を読込むのを作ったら tableviewrowがかなり重くなりました。ページ遷移で、rowのlistは入れ替わるのですが 古いrowを明示的に消してないからその辺が貯まっていたようで。 主な原因はrowの中でti.app.eventlistenerを使っていたことのようでした、それが全て残っていて、反応している感じ。 せっかくなので、残っているだろう古いrowをすべて削除してみる ついでに出来るだけ、eventlistenerを使わず、親オブジェクトから操作するように変更。 とても良い感じになりました。 中のオブジェクトを全て綺麗にした方が良いようです。 http://www.masaplabs.com/titanium-memory-leak/ https://wiki.appcelerator.org/display/guides/Managing+Memory+and+Finding+Leaks

Read full article | コメントは受け付けていません。

titanium sdk – android sdk min version

3月 28th, 2013

titanium 2.1.2以降は android 2.2以上で使えるようです。 http://docs.appcelerator.com/titanium/3.0/#!/guide/Titanium_Compatibility_Matrix 2.1.2 – latest 2.2 (API 8) 4.1.x (API 16) android 2.1 の IS03が本格的に文鎮化 契約が無いので 2.2へアップデート出来ない。。。誰かアップデートしてください。 別の話ですが、画面サイズ対応のため、全て数値で設定してあるデザインは、ファイルに分けた方が良いようです。 (jss使っている方は全部jssに。 androidの対応ちょっと後回しです。動作は問題無さそうだから凄くもったいない。 とは言っても大きなアプリじゃなければ一日あれば完了するとは思います。2種類くらいに対応しようと思いますが。さて。

Read full article | コメントは受け付けていません。

titanium mobile | 2,3日目

3月 27th, 2013

ロジックは、javascriptなので、特に問題ないのですが、UI作成が、肝になりそうです。 iOS用のものをそのまま使うのが、ユーザー的にも良いのですが、いろいろ試しながらヘッダーやフッターを入れてみたり 簡単な部品はだいぶ慣れてきたかなと。 メニューや枠の動きなどもいろいろ出来てきたので、もう少し整理したら公開前バージョンが出来そうです。 今更言うことでもないのでしょうが、デザイナーの方であれば、javascriptを頑張ったらかなりかっこいいアプリが作れそうです。 と思ったのですが、javascriptもobjective-cも初見であれば、学習コストに差はあまりでないのかもしれません。 javaとか慣れてる人はobjective-cのほうが楽な可能性もありますね

Read full article | コメントは受け付けていません。

titanium mobile | jssを使わずstyleを共通化

3月 23rd, 2013

titanium復帰1日目 jss入れても反映されないし、jsとキーが違うし・・・とりあえず使うの止めようと なんか無いかなと思ったら、普通にjsデータとして持たせるというのを見て、参照ではなくコピーして使いたかったので、こんな感じにしました。 node.jsもtitaniumもほぼ1日目なので、実際のところわかりませんが、ぱっと見は良い感じになりました。 スタイル用js var base_style = { label: function( _params ){ var style = { fontFamily: ‘”Hiragino Kaku Gothic ProN”, Verdana’, backgroundColor:’transparent’, color: ‘#fff’, width:Ti.UI.FILL, height:30, left:10, fontSize:14 }; for( key in _params){ style[key] = _params[key]; } return style; } }; module.exports = base_style; メインウインドウ js function ApplicationWindow() { var style; if( Ti.Platform.osname […]

Read full article | コメントは受け付けていません。

jquery display状態を確認するには?

2月 3rd, 2013

obj.show(); obj.hide(); obj.fadeIn(); と表示したり消したりよくするのですが、チェックするには? スタイルのdisplayを見るのでも良いのですが obj.is(‘:visible’); が見やすいようです。

Read full article | コメントは受け付けていません。

html5 canvas ImageData, Uint8ClampedArray。簡易アニメーション

11月 15th, 2012

ImageData {height: 100, width: 100, data: Uint8ClampedArray[40000]} data: Uint8ClampedArray[40000] [0 … 9999] [10000 … 19999] [20000 … 29999] [30000 … 39999] buffer: ArrayBuffer byteLength: 40000 byteOffset: 0 length: 40000 __proto__: Uint8ClampedArray height: 100 width: 100 __proto__: ImageData でこの配列40000は、rbgaの4データがずっと並んでる100×100なので4*100*100です。 というメモです。 何をしたいかというと ・canvasの一部だけ上書きすることで、負荷の少ないアニメーションにする。 ・移動と回転 ・残像を残す ・複数パーツ重ねて同時に変化 ・ぱらぱらアニメ(複数画像)+移動 まずは、適当に点を動かして出来そうな雰囲気が出てきたら ブロック崩しみたいなのを作ろうかと 先の話ですが ・ブロックデータ自体が、この配列になる。崩されると(当たった点からの距離で)透過され0になる。 検証:au IS03 100×100のオブジェクトを2つ、10fpsで描画し続けても問題ありませんでした。2万pixel更新(若干遅れますが) 4×4を2つ、10fpsで移動させてみます。putImageの描画前データを保管して、更新を繰り返します。32pixel x 2 […]

Read full article | コメントは受け付けていません。

MessagePack + PHP

11月 7th, 2012

今回使いたい基本的なツールを一通り確認しておく。 http://msgpack.org/ $ mkdir msgpack && cd msgpack $ git clone https://github.com/msgpack/msgpack-php.git . Initialized empty Git repository in /opt/installer/php/msgpack/.git/ remote: Counting objects: 514, done. remote: Compressing objects: 100% (135/135), done. remote: Total 514 (delta 404), reused 484 (delta 374) Receiving objects: 100% (514/514), 158.56 KiB | 133 KiB/s, done. Resolving deltas: 100% (404/404), done. $ […]

Read full article | コメントは受け付けていません。

chrome extension reload management

11月 4th, 2012

常駐時間が長くなるとメモリー利用がかなり大きくなって行くので・・・ オートリロード(エクステンションをリロード、初期化)したいなと思ったのですが 方法は、以下の通り。ですが、タイミングが難しい。定期的にでもなく。 毎日PCをシャットダウンするかchromeをシャットダウンして利用していただいている方には不要な機能なので とりあえず、自動ではなくて、手動で、リロードボタンだけ置いても良いのですが、 普通に問題なく利用されている場合には、何か問題あるのかと無用な心配させてしまうかもしれないので manifest.jsonにmanagementを追加 “permissions”: [    "management"  ], myextension idに idを入れてください。getAllもあります。 chrome.management.get(‘myextension id’, function( info ){    console.log(info);  }); こんな内容を取得出来ます。 Object description: “” enabled: true homepageUrl: “” hostPermissions: Array[1] 0: “http://*/*” length: 1 __proto__: Array[0] icons: Array[3] 0: Object 1: Object 2: Object length: 3 __proto__: Array[0] id: “myextension id” installType: […]

Read full article | コメントは受け付けていません。