ラベル Tips の投稿を表示しています。 すべての投稿を表示
ラベル Tips の投稿を表示しています。 すべての投稿を表示

2014年4月21日月曜日

ThemeをDialogにしてDialogっぽくしたActivityで枠外をタップした際に画面を閉じるには次のような処理を追加すれば良い

@Override  
public boolean dispatchTouchEvent(MotionEvent event) {  
    Rect dialogRect = new Rect();  
    getWindow().getDecorView().getHitRect(dialogRect);  
  
    if (dialogRect.contains((int) event.getX(), (int) event.getY()) == false) {  
        finish();  
    }  
    return super.dispatchTouchEvent(event);  
}  

2013年11月21日木曜日

スライドするメニューを作る

Googleのアプリでよくある画面の横端をスワイプもしくはメニューボタンを押すことで画面端から出てくるメニューをアプリに組み込んでみました

Goggleのサービスと同じようなタイプのメニューであればSupport Libraryにある「Navigation Drawer」を組み込む事で簡単に実装できます

■Android Developers Creating Navigation Drawer
http://developer.android.com/training/implementing-navigation/nav-drawer.html


Navigation Drawerを使うと、画面左端(右端にも設定できる)からスワイプすればメニューがニュッと出てきて、コンテンツの上に表示されます

これでも良いのですがNavigation Drawerはカスタマイズ可能なオプションが少なく、コードの改変なしには細かな要望に応えるのが難しいです

顧客が「Facebookのように、コンテンツの方がスライドしてメニューが下から出てくるようなメニューにしたい」といった場合には対処ができません


Facebookのようなメニュー表示


そこで利用したいのが「SlidingMenu」です
SlidingMenuはGithubにてソースコードが公開されているます

■SlidingMenu
https://github.com/jfeinstein10/SlidingMenu

使い方も非常に簡単です
使い方については上記に記載したサイトの方に記載がありますの割愛します

どんな事ができるの?
と、動きが気になる方はデモアプリがGoogle Playで公開されているので、そちらをインストールしてご覧ください

○SlidingMenu デモ
https://play.google.com/store/apps/details?id=com.slidingmenu.example


カスタマイズも色々できて、メニューを開いた時にコンテンツ部分をどの程度残して表示するかや影のつけ方など指定できます
詳細については上記に紹介したサイトをご覧いただくか、Githubよりソースコードを取得するとデモアプリのコードも入っているので、それをみても分かると思います


こういうライブラリを公開してくれている人がいるのは開発者としては非常にありがたいですよね
いつもライブラリを利用させてもらってるばかりなので、何か自分でも作って貢献しなければ!




2012年10月18日木曜日


Androidアプリ開発者の人だったら既に見てる方が多いと思いますが、まだ見てない方は復習もかねて見ておいた方が良いよ!というGoogle Developer Liveの過去放送ページを紹介しておきます

Google Play での Android アプリ提供 ことはじめ


https://developers.google.com/live/shows/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg4LEgVFdmVudBiatLQDDA/

放送日:8/14
ドキュメント:
https://plus.google.com/u/0/105425518837935313061/posts/BHnpq1LKRiy


Android での Google Play 課金 API 活用法 (In-app Billing と Subscription) 


https://developers.google.com/live/shows/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg4LEgVFdmVudBj9uKYDDA/
放送日:8/28
ドキュメント:
https://plus.google.com/u/0/105425518837935313061/posts/eqJNb9nbny9


Android アプリ UI/UX デザイン ことはじめ 


https://developers.google.com/live/shows/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg4LEgVFdmVudBiI1NgDDA/
放送日:9/10
ドキュメント:
https://plus.google.com/105425518837935313061/posts/T1qJ96ArDU9


Android での Google Play 課金 API 続・ことはじめ (実践編) 


https://developers.google.com/events/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg4LEgVFdmVudBic7LMEDA/
放送日:10/9
ドキュメント:
 https://plus.google.com/105425518837935313061/posts/HKMdQZeiDTY
 (まだ記述されていません)


今後のLive放送についてはGoogle+で「Ryosuke Matsuuchi」さんをサークルに追加しておくと良いと思います

2012年10月12日金曜日

爆速エミュレーター?

Android爆速エミュレータ環境の作り方

という記事があったので、試しにやってみました。


その結果。


早い!

実機(Galaxy Nexus Android 4.1)、エミュレーター(Android 4.1)を比較すると、実機の方が僅かに早いですが、これまでの速度を考えたら爆速ですね!

これは、ぜひやっておきましょ!

2012年10月11日木曜日

Androidというよりも、Javaのなのですが文字列の結合でよく使うStringBuffer,StringBuilderですが、惜しい使い方をしているのをよく見かけます

文字列の結合で最も簡単なのは次のような書き方です

※nameは文字列で事前に定義されているとします


String text = "私の名前は" + name + "です";

+での文字列結合は、無駄に文字列を生成してしまうので良くないとされています
そこで使われるのがStringBufferやStringBuilderです

で、表題の「惜しい」という点は、こんな書き方です

StringBuilder text = new StringBuilder();
text.append("私の名前は" + name + "です");

例としてすこし大げさに書いていますので、普段はこんな書き方しないと思います

ここで言いたいのは「惜しい」書き方としてappendの中で+(プラス)での文字列結合を使用している点です
これではStringBuilderを使う必要ないですよね

書くのであれば、次のようにしましょう


StringBuilder text = new StringBuilder();
text.append("私の名前は")
text.append(name);
text.append("です");

行が多くなってイヤだな。とおもわれる場合は次のようにもできます


StringBuilder text = new StringBuilder();
text.append("私の名前は").append(name).append("です");

まぁ・・・可読性が落ちてしまうのが難点です

文字列結合による速度の低下は結構大きいので、ループの中で+(プラス)による文字列結合とかを見つけたら、改善していきましょう