IS01 -AppWidgetに関して-
KDDIデザイニングスタジオでIS01端末の展示が行われていたので触ってきました。
既にファーストインプレッション記事が多く上がっており、今更ですが主にAppWidget周りを見てきたので書いておきます。
Homeの特徴
解像度は960×480ですが、右側にメニューがあるためアプリが使用できる領域は854×480です。
今出回っている高解像度携帯の1画面のサイズは480×854なのに対し、IS01は推測ですが854×480くらいだと思います。端末を見るとよく分かるのですが、縦横の比率が逆になっています。
この比率の違いは、Activityには無影響ですがAppWidgetに大きく影響を与えます。本来、同じ比率だからこそスケールしたときでも同じレイアウト構成を保てているのに対し、逆比率だと意図したサイズにスケールしません。
この問題は絵を見た方が分かりやすいため、以下のように2枚の絵を用意しました。検証端末はHT-03aです。
1画面の解像度が320×480
AppWidget配置エリアは赤く透過させた320×400となります。
1×1サイズのAppWidgetが縦横ともに4つ配置可能なので、1×1サイズのAppWidgetサイズは80×100。
1画面の解像度が480×320
こちらもAppWidget配置を赤く透過させた400×320となります。
1×1サイズのAppWidgetは100×80。
つまり80×100の比率作られたAppWidgetを100×80で配置する端末で見ると、横に伸びた分だけスケールされながらも比率を守ろうとするので、100×125サイズにスケールされる事になります
「なんだそれだけかよ」と思うかもしれませんが、AppWidgetでサイズが想定外に膨れた場合は他AppWidgetエリアを侵す。。。端末がIS01のようです*1。結果、本来複数個ほど置けるハズなのに、1個しか置けなくなる場合があります。
簡単な対策は、スケールされても比率に依存されない正方形の絵を低いサイズに合わせて用意すると問題無く表示されそうです。
ただし、どうしても横解像度に合ったWidgetにはならないため違和感が生じるので、横端末用に別に作り直すのが一番綺麗な対処法ですが。掛かるコストを考えると気軽に対応できるものでは無いです。
カレンダーAppWidget系の問題
IS01にはAndroid標準のカレンダーアプリがプリインストールされていないため、明示Intentを投げているアプリは致命打を受けます。
カレンダーAppWidgetの場合、表示上は独自アプリだけど、タッチすると標準カレンダーを起動するタイプが多いため利便性が低下します。
対処方法はモデル番号を元に端末毎のプリインストールされているカレンダーアプリに対し、Intentを投げる事が開発者に出来る事だと思います。
シャープ独自AppWidget
プリインストールされている独自AppWidgetだとWidgetの重ね置きが可能なようです。
これは全てではなくそう作られたWidgetのみなため、そういった独自APIが用意されてるのだと思います。既存AppWidgetへの影響は無さそうです。