PNG から WebP へ一括変換できるようになった Android Studio 2.3

Androi 4.2.1 - API 17 からフルサポートできる WebP ですが.

夏のアプリ容量ダイエット!WebPでスリムなアプリになろう! - HOME'S Designer's Blog | ホームズ デザイナーズ ブログ

特にこだわる必要のない画像であればかなりのサイズの削減となります.

apk 上でもかなりの削減となり, 端末への転送時間を短縮し, 開発の時間効率も上がることになります.

Android Studio 2.3 (2017-01-04 現在 beta) では, PNG - WebP 変換が一括で容易にできるようになっています.

無造作に, res ディレクトリに配置した画像リソースを右クリックから変換できます.

ディレクトリから一括変換も可能になっています.

と, 削減量や変換後と比較確認しながら簡単にできるようになりました.

WebP から PNG へ再度変換もできるようです.

お試しあれし.


マテリアルな AppCompat テーマの作成のひな

AppCompat のテーマ を使ったカラーリングは,

正直,

どのSDKバージョンで,

どのアイテムが,

どこに反映されるか

謎ですね?

実際,

実機で,

各バージョンで,

それぞれ確認してますね?

こんなかんじだそうですが...

AndroidのAppCompat Themeの継承関係がよくわからないので図にしてみた - Qiita

今や継承すぎですね.

以下で分かりやすくまとめられています.

MoshDev/ThemesAndStyles: A sample application demonstrate Android themes and styles capabilities


<style name="MaterialTheme" parent="Theme.AppCompat.Light">

    <!-- 1 -->
    <item name="colorPrimaryDark">#5c142a</item>

    <!-- 2 -->
    <item name="colorPrimary">#8B1E3F</item>

    <item name="colorAccent">#3C153B</item>

    <!-- 3. CheckBox, RadioButton, (SeekBar, ProgressBar with alpha)  & Inactive EditText underline-->
    <item name="android:colorControlNormal">#89BD9E</item>

    <!-- 4. Used with Active -> SeekBars, ProgressBars, Switches, Checkboxes and RadioButtons & Active EditText underline-->
    <item name="android:colorControlActivated">#006665</item>

    <!-- 5. Used with Buttons-->
    <item name="android:colorButtonNormal">#EB7BC0</item>

    <!-- 6. Used with Buttons & EditText text & Toolbar title-->
    <item name="android:textColorPrimary">#04dc00</item>

    <!-- 7. TextAppearance Medium-->
    <item name="android:textColorSecondary">#00f</item>

    <!-- 8. CompoundButton text-->
    <item name="android:textColorPrimaryDisableOnly">#F00</item>

    <!-- 9. Normal and TextAppearance Small TextView-->
    <item name="android:textColorTertiary">#FF934F</item>

    <!-- 10. EditText Hint text color-->
    <item name="android:textColorHint">#6f00ff</item>

    <!-- 11 -->
    <item name="android:windowBackground">@color/windowBackground</item>

    <!--Activating/Enabling Ripple Effect-->
    <item name="android:colorControlHighlight">#F0C987</item>

    <!--Defaults-->
    <!--<item name="colorControlNormal">?android:attr/textColorSecondary</item>-->
    <!--<item name="colorControlActivated">?attr/colorAccent</item>-->
    <!--<item name="colorControlHighlight">@color/ripple_material_light</item>-->
    <!--<item name="colorButtonNormal">@color/button_material_light</item>-->
  </style>

ThemesAndStyles/styles.xml at master · MoshDev/ThemesAndStyles

こういう役に立つドキュメントが公式にない (のかあるのか分からない) のが一番の謎ですね.


Android 7.1 ( API25 / N_MR1 ) の通知の設定

今や購入時のままの設定のままだと各アプリからの通知が大量に溜まってくる.

Android 7.1 では, 端末側の設定画面が変わっている.

「設定」-「通知」-「右上の歯車マーク」から設定できるのは以下.

- 光を点滅させて通知 (ON/OFF)

- ロック画面の通知 (通知をすべて表示しない/すべての通知内容を表示する)

- Power notification controls (ON/OFF)

画面上部のスピナーからも設定状態別にアプリを抽出表示できる.

- すべてのアプリ
- ブロック中
- マナーモードで表示
- ロック画面にプライベートな内容を表示しない
- ロック画面に表示しない
- [通知を非表示]をオーバーライド

「ブロック中」を選択してみると, いつのまにか Evernote をブロックしていた.

「重要度」というスライダーがあるのだが, 7段階の設定ができる.

- このアプリからの通知を表示しない

- 全画面表示, ポップアップ, 音, バイブレーションを使用しない。通知リストの一番下に表示する。ロック画面やステータスバーには表示しない。

- 全画面表示, ポップアップ, 音, バイブレーションを使用しない。通知リストの一番下に表示する。ロック画面には表示しない。

- 全画面表示, ポップアップ, 音, バイブレーションを使用しない。

- 全画面やポップアップを使用しない。

- 常にポップアップし, 全画面は表示しない。

- 常にポップアップし, 全画面表示も許可する。通知リストの一番上に表示する。

あるいは, 重要度と書いてる下の「A」を押すと, スライダーは利用できなくなり以下となる

- アプリが通知ごとに重要度を識別する。

スライダーの下にはスイッチ.

- [通知を非表示]をオーバーライドする。(ON/OFF)

その下には,「通知音の最少間隔」の設定。

- 無制限
- 10秒
- 30秒
- 1分
...
- 30分

アプリによっては, このアプリごと画面の右上から, アプリ内の設定画面に遷移できる.

と, かなり設定項目多いです. 多すぎません?

まとめ

通知の内容や頻度はアプリを公開している側の考え方に依存していますので, まずは単純にアプリ別に「ブロックする」方法を覚えておくといいのだろうと思います.

「設定」-「通知」で通知してきたアプリを選択.

重要度の下の「A」をタップして, スライダーでこのアプリからの通知をブロック.

これまでの「フィルター」機能 消してしまった通知の確認 はもうできないのか・・・

しかし, 最近のスマホてややこしすぎません? いや, ほんと.

通知が表示されない とかどうせブロックの設定だろ! → 原因「フィルター」

消してしまった不要な通知を2度とこないように「通知履歴」から非表示設定する