LoginSignup
42
38

More than 5 years have passed since last update.

What's new in the Support Library(Google I/O 2016)メモ

Last updated at Posted at 2016-05-19

プロダクトで使いやすくて大好きなSupport Libraryなのでメモとして残しておきます。
抜けているところがあると思いますのでご指摘お願いします。
驚いたところを太字にしておきます。
動画はここにあるのでこれを見れば間違いないです
https://www.youtube.com/watch?v=w45y_w4skKs

v4 Support Library

FragmentにcommitNow() 24.0で追加
同期的にFragmentのtransactionが可能

(ライフサイクルで悩まされにくくなるかも?)
詳細は what the fragmentのセッションで説明があるようです。

NotificationCompat.MessagingStyle 24.0で追加
(API Level 18からNotificationListenerServiceを使った面白い機能も追加されて使える?)

NotificationManagerCompat.areNotificationsEnabled()がAPI 19から利用できる(ユーザーが通知をブロックしているか取得できる)
一応通知を出すアプリはどの程度ブロックされているのか見ておく良さそうですね。

MediaBrowserServiceCompatとMediaBrowserCompat 23.2で追加
音楽の再生などができる。Compatibilityがあるので便利そう(ちょっと良くわかっていません)
Universal Android Music Playerで使っているのでサンプルによい
https://github.com/googlesamples/android-UniversalMusicPlayer

Custom Tab

24.0で改善
Minimum SDK:15
アプリ内WebViewの代わりに使え、ページ内にいるかのようにChromeなどで開くことができる
コンテンツのプリロードができるので一瞬で開いたりできる
良くないところとして、メモリが足りないと消えたりする
FireFoxなど他のブラウザでもカスタムタブが開けるようになる
ToolbarやBottomBarの設置などUIカスタマイズなどが可能

VectorDrawable

ベクトル画像が利用できる
Android StudioによるサポートとSupportLibraryによるサポートが有る
SupportLibraryによるサポートはbuild.gradleに明示的に書く必要がある
apkサイズが小さくできる

StateListDrawbleなどでVectorDrawableを利用できる機能はメモリの問題がある
それを許容して23.4.0で利用できる
以下をActivityに書くことで許容する

static {
 AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}

NightMode

NIGHT_MODE_AUTOで自動で昼と夜でUIを切り替えできる

ColorStateLists

24.0で追加
selectorで色を指定できる
Viewがdisableになっている時に色を使って透明度を入れるといったことができる

これ欲しかったやつです。
プログラムでは以下で取得

AppCompatResources.getColorStateList(getContext(), R.color.tint_nomal);

AppBarLayoutの閉じている時と、開いている時のElevationがStateListAnimatorを使って制御できるようになった

今後

Support v4のminmumSdkVersionを上げるかもしれない
Support v4をsupport-fragmentやsupport-mediaなどに分割する

42
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
38