androidでアニメーションさせたい場合は、res/animにxmlを作成すれば良いのだが、Tweenとanimation-listでは起動時から再生したい場合、呼び出すタイミングが違うので注意。
tweenの方は、親のActivityのOnCreateのタイミングでloadAnimationを呼んでもOK
animation-listで実行する場合は、OnCreateでstartを呼んでも実行されない。
で、どこで呼ぶかというと、ActivityのOnWindowChangedで呼ぶ。
参考リンク:以下の最後の方に記載してある。
2D Graphics
2011年1月14日金曜日
2011年1月13日木曜日
Android applicationからTitleを消したい
manifestのandroid:themeに参照するリソースを設定。
resourceはres/values/styles.xml
の中の値を渡している。
resource側では、
<style name="Theme" parent="android:Theme">
<item name="android:windowNoTitle">true</item>
</style>
参考リンク:
http://developer.android.com/guide/topics/ui/themes.html
ついでに、Homeアプリ(HOMEを押した時に選択肢が出るように)にするためには、MainのActivityにintent filterで、category.HOMEを指定してあげましょう。
resourceはres/values/styles.xml
の中の値を渡している。
resource側では、
<style name="Theme" parent="android:Theme">
<item name="android:windowNoTitle">true</item>
</style>
と指定してやればOK。
http://developer.android.com/guide/topics/ui/themes.html
ついでに、Homeアプリ(HOMEを押した時に選択肢が出るように)にするためには、MainのActivityにintent filterで、category.HOMEを指定してあげましょう。
2011年1月5日水曜日
Evernote試す
Evernote APIを試したく、中に入っていたRuby サンプルコードを試してみる。
足りないライブラリがあったので、gemsでインストール。
プロキシ越しの場合は、
gem install パッケージ名 -r -p http://your.proxy.hostname:port_no
で行ける。
参考リンク:
2010年12月24日金曜日
size対応
WebViewでローカルhtmlを読み込んだ際、大きくしたEmulatorだと小さい画面でしか表示されない。(しかもその中でスクロールされる・・・・)
修正するために、supports screensで対応。
Android manifestに、
<supports-screens android:largeScreens="true" />
を追加。
参考リンク:
supports-screens
修正するために、supports screensで対応。
Android manifestに、
<supports-screens android:largeScreens="true" />
を追加。
参考リンク:
supports-screens
2010年10月11日月曜日
Java reflection
Java でリフレクションを使って動的にimport出来ない関数を呼び出す方法。
inputのパラメータは適宜使いたいものに変更。
うーん、書いてはみたもののまだいまいち腑におちてないかんじ。
参考リンク:
Flash devlop on Android 1.5
Javaプログラミングのダイナミクス 第二回
Javaプログラミングのダイナミクス 第三回
inputのパラメータは適宜使いたいものに変更。
Boolean[] input={new Boolean(true)};
//using reflection
try{
// call class name
Class cl = Class.forName(*******);
Class[] par = new Class[1];
par[0]=Boolean.TYPE;
// import dynamic class library function
// ここで動的に関数を呼び出す
Method mthod=cl.getMethod(******, par);
mthod.invoke(mWebView.getSettings(), input );
/* normal sequence functions */
}catch(Exception e){
/* exception error */
}
うーん、書いてはみたもののまだいまいち腑におちてないかんじ。
参考リンク:
Flash devlop on Android 1.5
Javaプログラミングのダイナミクス 第二回
Javaプログラミングのダイナミクス 第三回
2010年10月5日火曜日
Wirelessが死んだ。。
自宅のUbuntuはSuspendからの復帰時大体キーが効かなくなって再起動するハメになる。
これはこれで解決しないといけないのだけど、この時一緒にWirelessもDisableになって使えなくなってしまった。
その時の復帰の方法は、以下。
でも、何で突然ここだけチェックが外れるのかな。。。
これはこれで解決しないといけないのだけど、この時一緒にWirelessもDisableになって使えなくなってしまった。
その時の復帰の方法は、以下。
System > Administration > Users and Groupsでログイン名を選択し、
Advanced setting > User privilegesで,Connect to wireless and ethernet networkにチェックを入れたらOK.
でも、何で突然ここだけチェックが外れるのかな。。。
2010年10月1日金曜日
LiveWallPaper - Android
作りかた。
Dynamic Displayのレンダリングのため,Surface Viewを利用
ユーザのスクリーンタッチイベントを取得したり、イベント処理も必要。
作るコンポーネントは以下3つ。
Androidのお作法で、res/xmlの中に作る。
wallpaper がTop elementで、その中のuser attributesとしてauthor, description, thumbnailを指定。
これらがWallpaper設定時の選択画面で出てくる表示になる。
追加で何か設定させたい場合(画像や図選択、挙動の設定などなど)は、"SettingActivity"tagを指定すれば、独自の設定画面を用意できる。
Wallpaperserviceの拡張を行う。ここでWallpaperService Engineクラスのインスタンス化。
すべてのdrawing処理、インタラクションはwallpaper service engine クラスでハンドルされる。
このサービスを、マニフェストにserviceとして登録。
また、Live wallpaperはandroid.service.wallpaper.WallpaperService のIntent Filterを含む必要がある。
また、meta-dataノードにandroid.service.wallpaperをname attributeとして、
リソースファイルをresouece attributeとして追加。
また、BIND_WALLPAPER パーミッションも必要なのでこれも追加。
WallPaperServiceクラスでは、必ずEngineの実装が必要。WallpaperService.Engineクラス拡張をする。
このEngineは、Surface(壁紙表示、タッチイベントの取得)をカプセル化している。Surfaceはバックグランドスレッドのアップデート、スムーズネス、動的でインタラクティブ表示)の描画サポートを行うcanvasの一種。
drawingする前には、必ずonsurfaceCreatedのイベントハンドラで示される初期化を待つ必要がある。
その他、イベントコールバックの実装が必要。(onTouchEvent などなど。)
Dynamic Displayのレンダリングのため,Surface Viewを利用
ユーザのスクリーンタッチイベントを取得したり、イベント処理も必要。
作るコンポーネントは以下3つ。
- Live Wallpaper用のXML resource
Androidのお作法で、res/xmlの中に作る。
wallpaper がTop elementで、その中のuser attributesとしてauthor, description, thumbnailを指定。
これらがWallpaper設定時の選択画面で出てくる表示になる。
追加で何か設定させたい場合(画像や図選択、挙動の設定などなど)は、"SettingActivity"tagを指定すれば、独自の設定画面を用意できる。
- Wallpaper serviceの実装
Wallpaperserviceの拡張を行う。ここでWallpaperService Engineクラスのインスタンス化。
すべてのdrawing処理、インタラクションはwallpaper service engine クラスでハンドルされる。
このサービスを、マニフェストにserviceとして登録。
また、Live wallpaperはandroid.service.wallpaper.WallpaperService のIntent Filterを含む必要がある。
また、meta-dataノードにandroid.service.wallpaperをname attributeとして、
リソースファイルをresouece attributeとして追加。
また、BIND_WALLPAPER パーミッションも必要なのでこれも追加。
- Wallpaper engineの実装 (WallpaperService.Engineのインスタンスを新規に作成して返す。)
WallPaperServiceクラスでは、必ずEngineの実装が必要。WallpaperService.Engineクラス拡張をする。
このEngineは、Surface(壁紙表示、タッチイベントの取得)をカプセル化している。Surfaceはバックグランドスレッドのアップデート、スムーズネス、動的でインタラクティブ表示)の描画サポートを行うcanvasの一種。
drawingする前には、必ずonsurfaceCreatedのイベントハンドラで示される初期化を待つ必要がある。
その他、イベントコールバックの実装が必要。(onTouchEvent などなど。)
登録:
投稿 (Atom)