ありますね
プログラムで背景色を指定しようとしたときにありますね
hoge.
setBackgroundColor(R.color.fuga_color);
とか、指定していて色が変わらないなんて事があります
色のidをカラーに指定しても色変わらないですよねー
正しくはこうですよね
int color = getResources().getColor(R.color.
fuga_color );
button.setBackgroundColor(
color);
よく間違って「あれ?」となるので、メモメモ。
2012年7月20日金曜日
[Android]表示を縦や横に固定するときの注意すること
アプリを作る際に「このアプリは横向きでしか使わないから、横固定!」ということで
AndroidManifest.xmlのactivityタグに
android:screenOrientation="landscape"
と書くことは多いですよね
でも、このようAndroidManifest.xmlに指定をしている場合にはandroid.hardware.screen.landscapeに対応していない端末がサポート外になる可能性があります
これはportraitの時も同じです
こんな時、向きの固定はプログラムで指定しちゃいましょう
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
を記述する横向き固定になってくれます
しかし、これだけではエラーになる可能性があります
setRequestedOrientationが呼び出された時に、画面の向きが変わったと判定されるとActivityが再構築されて場合によってアプリが強制終了してしまいます
そんな時は、画面の向きが変わっても再構築されないようにAndroidManifest.xmlのactvityタグにandroid:configChangesを指定しましょう
<activity (省略) android:configChanges="keyboardHidden|orientation" >
AndroidManifest.xmlのactivityタグに
android:screenOrientation="landscape"
と書くことは多いですよね
でも、このようAndroidManifest.xmlに指定をしている場合にはandroid.hardware.screen.landscapeに対応していない端末がサポート外になる可能性があります
これはportraitの時も同じです
こんな時、向きの固定はプログラムで指定しちゃいましょう
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
を記述する横向き固定になってくれます
しかし、これだけではエラーになる可能性があります
setRequestedOrientationが呼び出された時に、画面の向きが変わったと判定されるとActivityが再構築されて場合によってアプリが強制終了してしまいます
そんな時は、画面の向きが変わっても再構築されないようにAndroidManifest.xmlのactvityタグにandroid:configChangesを指定しましょう
<activity (省略) android:configChanges="keyboardHidden|orientation" >
登録:
投稿 (Atom)