HUAWEI MediaPad M5 Lite 8 購入しました

HUAWEI MediaPad M5 Lite 8 購入しました。

ipad mini2を試験導入していてすごく便利で体感が良かったです。ですが2019年時点でブラウザでtwitterを3タブ開くとクラッシュ(?)するレベルでありさすがに限界で、8インチサイズタブレットの更新として購入しました。

SDカード含めて2.5万円くらいです。ipad miniで同じスペックを実現しようとすると8万円くらいになるため、雑に使ってもまだ大丈夫な値段という意味もあって、Andoridタブレットにしました。
(128GB SDが1500円くらいなのが大きくて、ipadだとsdカードは刺せないうえストレージを増やすだけで1~2万円違う。SIMオプションもipadは1.5万円くらいする。)


ipad mini2よりは縦長です。


液晶はさすがに綺麗。中古で買ったipad mini2に安い非光沢シートを貼っていたせいもありますが。


 購入して即、アップデートを実施。すでにAndorid9.1でした。






ios13アプリdarkmode対応

lina_dicto for ios でダークモードに対応しました。
https://github.com/MichinariNukazawa/lina_dicto_for_ios/commit/533fcddb03f75a2e71d56e708174b0f1e4c8ef9b



ios13.3・xcode11.3にて。

# storyboard

###
基本的にSystem Colorsを使う。xcode11以降で作ったAPPで単純なものなら、それだけで済む。
色をcustomなどにしていなければ自動でダークモードに変化する。
必要ならユーザ色としてColor SetをAssets Catalogに定義できる
それ以外のものはコードでなんとかする。
https://qiita.com/tamappe/items/3bf89a55ab85d0488b8a

### Color Set
 カラーアセットの新規作成
https://dev.classmethod.jp/smartphone/iphone/xcode-9-asset-catalogs-support-named-colors/



### 動作確認 simulatorでのdarkmode
「設定」に実機の「画面表示と明るさ」はないが「デベロッパ」の方にdarkmode設定がある。
https://qiita.com/p_on_ro/items/91e6659fda662fb2aac0

xcodeからもEnvironment Overridesから操作できる。
https://qiita.com/hirothings/items/4834481d170332e173f5



# code
darkmode判定。状態取得。
```
        if self.traitCollection.userInterfaceStyle == .dark {
        }
```

コールバック
```
class ViewController: UIViewController, UISearchBarDelegate{
     
     @IBOutlet weak var searchBar: UISearchBar!
     @IBOutlet weak var textView: UITextView!
     @IBOutlet weak var scrollView: UIScrollView!
+    var prevUserInterfaceStyle = UIUserInterfaceStyle.unspecified
~

    override func viewDidLoad() {
+        prevUserInterfaceStyle = traitCollection.userInterfaceStyle
~

+    override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
+        let userInterfaceStyle = traitCollection.userInterfaceStyle // Either .unspecified, .light, or .dark
+        if(prevUserInterfaceStyle != userInterfaceStyle){
+            // styleで埋め込んだCSSを全て置換するのは大変手間なので諦めて全て消去する。
+            textView.text = "";
+
+        }
+        prevUserInterfaceStyle = userInterfaceStyle
+    }

```

darkmode変化の通知コールバックは traitCollectionDidChange() で取れるのだけれど一工夫必要で、画面回転などと区別する。(再描画するだけなら不要かも。本APPは必要だったのでやった)



アイコンは偶然にもdarkmodeと共通で問題なかった。
TextViewはplaintテキストならsystem色が使えるが、Attributedの場合はコードから制御しないといけない模様。

Linuxコマンドライン上でSVGベクタ画像をJPG等へラスタライズ変換する

 Linuxコマンドライン上でSVGベクタ画像をJPG等へラスタライズ変換することができるが、上手く変換されない場合がある。   以前作った魔法陣イラスト素材をイラスト素材ストックサイトへ登録しようと思い立ち、改めて素材用にラスタライズ変換をかけようとした。   ラスタライズ変換...