AppCompat
使ってみました
2013/9/14 つ部 Android 勉強会 2013年9月
@nagakenjs
自己紹介
Twitter ID:@nagakenjs(ながけん)
お仕事:ソフト屋さんです。
Java屋さんのはずですがCやC++もよく書きま
す。
Androidの中の人になることが多いです。
たまに.NET Micro Frameworkで...
あなたのアプリに
ActionBarはありますか?
ActionBar
こいつです
Honeycombより追加されたメニュー構造
アイコン、検索ボックス、ドロップダウンメニ
ューなどを配置可能
Andriodのシェア
http://developer.android.com/about/dashboards/index.html
2.2/2.3のシェアが3割
まだまだサポート捨てられない
ActionBar Sherlok
Andriod 2.xでActionBarが利用可能
サードパーティ製ライブラリ
http://actionbarsherlock.com/
v7 appcompat library
Android 2.1以降で使えるActionBarライブラリ
Android Support Library Rev.18で導入
Google謹製!
導入方法(Eclipse)
Action Bar用のサブプロジェクトを作成
<SDK>/extras/android/support/v7/appcompat をインポート
アプリからサブプロジェクトを参照
導入方法 (Android Studio)
プロジェクトを作る時のウィザードで「Action
Bar」にチェックを付ける(0.2.7から)
またはbuild.gradleに以下を設定
dependencies {
compile 'com.an...
どうやって使うの?
利用方法(その1)
Activity を ActionBarActivityに置き換える
テーマをAndroidManifest.xmlに設定する
Theme.AppCompat
Theme.AppCompat.Light
Theme.AppC...
利用方法(その2)
メニューは標準APIが使用可能
ActionBarで拡張された部分はMenuItemCompatを
使用
public void onCreateOptionsMenu(Menu menu, MenuInflater inf...
利用方法(その3)
XMLファイルでメニューを扱う場合
ActionBar拡張部分は別途名前空間を定義する
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://s...
利用方法(その4)
android.support.v7.app.ActionBar
appcompatで追加
android.app.ActionBarとAPIの互換性あり
// ActionBarActivityのメソッド内
ActionB...
つまずく点
ListActivityの代替クラスがない
ListFragmentを使うべき?
Andriod Studioでテーマが使えない
0.2.7にバージョンアップする
ActionBar Sherlockとの
違いは?
ActionBarSherlockとの
違い
各ライブラリのクラス数・リソース数
クラス数
リソース数
(png + xml)
AppCompat
ActionBar Sherlock
56ファイル 291ファイル
87ファイル 341ファイル
ActionBarSherlockとの
違い
AppCompat ActionBarSherlock
• ActionBar基本機能
• タブバー
• ポップアップメニュー
• 検索ビュー
• 共有
• ActionBar基本機能
• 各種Ac...
ActionBarSherlockとの
違い
apkのサイズ
• Android StudioでHello Worldプロジェクトを作成
• build.gradleにDebug版とRelease版のapkを作るよう設定
Debug Relea...
まとめ
Android 2.1からActionBarが利用可能
Activityやテーマを置き換えて使う
ActionBar Sherlockと比べるとコンパクト
標準提供されているので導入が容易
Upcoming SlideShare
Loading in...5
×

つ部 Android 勉強会 2013年9月 発表資料

1,559

Published on

Published in: Technology

つ部 Android 勉強会 2013年9月 発表資料

  1. 1. AppCompat 使ってみました 2013/9/14 つ部 Android 勉強会 2013年9月 @nagakenjs
  2. 2. 自己紹介 Twitter ID:@nagakenjs(ながけん) お仕事:ソフト屋さんです。 Java屋さんのはずですがCやC++もよく書きま す。 Androidの中の人になることが多いです。 たまに.NET Micro Frameworkで遊んでます。 年末にかけて何かするかも。
  3. 3. あなたのアプリに ActionBarはありますか?
  4. 4. ActionBar こいつです Honeycombより追加されたメニュー構造 アイコン、検索ボックス、ドロップダウンメニ ューなどを配置可能
  5. 5. Andriodのシェア http://developer.android.com/about/dashboards/index.html 2.2/2.3のシェアが3割 まだまだサポート捨てられない
  6. 6. ActionBar Sherlok Andriod 2.xでActionBarが利用可能 サードパーティ製ライブラリ http://actionbarsherlock.com/
  7. 7. v7 appcompat library Android 2.1以降で使えるActionBarライブラリ Android Support Library Rev.18で導入 Google謹製!
  8. 8. 導入方法(Eclipse) Action Bar用のサブプロジェクトを作成 <SDK>/extras/android/support/v7/appcompat をインポート アプリからサブプロジェクトを参照
  9. 9. 導入方法 (Android Studio) プロジェクトを作る時のウィザードで「Action Bar」にチェックを付ける(0.2.7から) またはbuild.gradleに以下を設定 dependencies { compile 'com.android.support:appcompat-v7:18.0.0' compile 'com.android.support:support-v4:18.0.0' }
  10. 10. どうやって使うの?
  11. 11. 利用方法(その1) Activity を ActionBarActivityに置き換える テーマをAndroidManifest.xmlに設定する Theme.AppCompat Theme.AppCompat.Light Theme.AppCompat.Light.DarkActionBar public class MainActivity extends ActionBarActivity
  12. 12. 利用方法(その2) メニューは標準APIが使用可能 ActionBarで拡張された部分はMenuItemCompatを 使用 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { MenuItem item = menu.add(0, MENU_ID, Menu.NONE, "menu"); MenuItemCompat.setShowAsAction( item, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM); super.onCreateOptionsMenu(menu, inflater); }
  13. 13. 利用方法(その3) XMLファイルでメニューを扱う場合 ActionBar拡張部分は別途名前空間を定義する <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:yourapp="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/menu_settings" android:icon="@drawable/ic_menu_preferences" android:title="@string/menu_settings" yourapp:showAsAction="ifRoom" /> </menu>
  14. 14. 利用方法(その4) android.support.v7.app.ActionBar appcompatで追加 android.app.ActionBarとAPIの互換性あり // ActionBarActivityのメソッド内 ActionBar actionBar = getSupportActionBar();
  15. 15. つまずく点 ListActivityの代替クラスがない ListFragmentを使うべき? Andriod Studioでテーマが使えない 0.2.7にバージョンアップする
  16. 16. ActionBar Sherlockとの 違いは?
  17. 17. ActionBarSherlockとの 違い 各ライブラリのクラス数・リソース数 クラス数 リソース数 (png + xml) AppCompat ActionBar Sherlock 56ファイル 291ファイル 87ファイル 341ファイル
  18. 18. ActionBarSherlockとの 違い AppCompat ActionBarSherlock • ActionBar基本機能 • タブバー • ポップアップメニュー • 検索ビュー • 共有 • ActionBar基本機能 • 各種Activityの拡張 • 各種Fragmentの拡張 • タブバー • メニューの拡張 • ポップアップメニュー • 検索ビュー • 共有
  19. 19. ActionBarSherlockとの 違い apkのサイズ • Android StudioでHello Worldプロジェクトを作成 • build.gradleにDebug版とRelease版のapkを作るよう設定 Debug Release AppCompat ActionBar Sherlock 651,819 byte 635,201 byte 731,848 byte 708,439 byte
  20. 20. まとめ Android 2.1からActionBarが利用可能 Activityやテーマを置き換えて使う ActionBar Sherlockと比べるとコンパクト 標準提供されているので導入が容易
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×