使い方を間違っているだけなのに落とし穴と書いてると怒られそうですが、昨日修正を公開した間取りー図での不具合は、リソースのdimen.xmlでdip単位で書いてある値をSurfaceViewのボタンの大きさ指定に使っているのですが、ここで間違った計算をしているのが原因でした。最近間取りー図のユーザーレビューで・ボタンが見切れてほとんど使えない・5インチフルHDの画面なんだけど、各種ボタン(+-や反転等の)の大きさが極端に合ってないという報告が上がってきていて、ボタンはdipの値から計算してサイズ設定しているからそんなはずはないんだけどなぁと思いながら、対象の実機で確認してみると本来はこうなるべきところがと報告と同じくえらいでかいサイズになってしまっていました。原因を探ってみたところ、どうやらxxhdpi(超高解像度)の端末で、このような現象になっている模様。0.5f);このように値を取得・計算して、最終的にピクセル単位にしてボタンを描画していました。要はこの計算が間違っていたのですが、どうやらgetDimensionはanyDensityがtrueの場合DisplayMetricsで単位変換されるということのようです。私はgetDimensionですでに単位変換されている値を、更に単位変換してしまっているので、xxhdpiの場合getDimensionでもとの3倍、それをさらに3倍しているということでした。PostsAndroidのcanvasに描画したイメージを画像ファイルで保存するアプリの中でcanvasに描画したイメージを画像として保存するという機能を付けたくなることがありますが、こんな感じで簡単に出力できます。まとめAndroidアプリの作成では様々な端末への対応を考慮しなければなりません。現在どのような端末が出てるのか、調査に便利なサイトをまとめてみました。かなりの数の端末が登録されていて国や...同じ構成のレイアウトを別ファイルにしてincludeで使うたまにリストにするような不定数ではないけど、同じようなView構成が続く画面レイアウトがあります。こんなときはまず繰り返す部分のみのxmlファイルを作ります。en...setColorとsetAlphaで半透過描画した時の落とし穴こんなのにはまるのは自分だけかもしれませんが、半透過の描画をしようとしてはまってしまったので書いておきます。組み合わせに注意しなければなりません。position)となっていて文字列では選択できません。これの対応は初回はバックカメラ指定...AndroidでSerializableなクラスを継承したクラスの落とし穴なんかよくわからんタイトルになってしまいましたが、Serializableなクラスを継承したクラスはSerializableをimplementsしなくてもSerializeすることができます。不具合は、リソースのdimen.xmlでdip単位で書いてある値をSurfaceViewのボタンの大きさ指定に使っているのですが、ここで間違った計算をしているのが原因でした。内容を動的に変えようと思ったらあまり情報がなかったので書いておきます。まとめ間取りー図が5万ダウンロードを達成しましたーdimen.xmlからのdip指定によるgetDimensionの落とし穴"間取りー図"のバージョンアップを公開しました。