Eclipseのレイアウトエディターの日本語文字化け回避の裏技?
Eclipseのレイアウトエディターでは表示される日本語が文字化けするのは周知の事実だが、今日面白いことを発見した。
1つ目、レイアウトエディターでは必ずしも文字化けするわけではない。
残念ながら画面はお見せできないが、普通に日本語が表示できている。
もちろん何か特殊なことをしたわけではなく、単純にtext属性に日本語を打っただけ。
環境依存の可能性は否定できないが、TextViewやEditTextには日本語が対応してる?まずこれを作成してから、他のViewをつくると文字化けが発生しなかった。
なお、途中から文字化けが発生しだして、既存のView以降に作成したViewはガッツリ文字化けしちゃいました。
2つ目。これが裏技?です。
本番では利用できないが、レイアウト作成中なんかに役に立つかもしれない。
安定して日本語を表示させる方法です。
方法:
日本語打って末尾に半角文字入れる。おわり。
例:
"あああああx"や"おはようございます|"
EditTextのonTextChangedのoverride
onTextChangedをoverrideするのはEditTextを継承するだけでよかったのか・・・
TextWatcherを実装しなくてもよかったのね。
TextWatcherを実装すると、onTextChangedが2度呼ばれる。ふしぎ!
と思って、リファレンス見たらEditTextもTextWatcherもonTextChangedという同名メソッド持ってるから2回呼ばれちゃうの?
beforeTextChanged->onTextChanged->afterTextChangedの3つだけしか呼びたくない場合はどうしたらいいんだろう。現状onTextChangedが2度呼ばれるんだよねぇ
Desireが届いた
USB接続したらドライバのダイアログが・・・・ドライバ・・・?
ないない。どこにもない。
んで、検索したら丁寧に解説してる方が。
HTC DesireをPCに認識させる
http://2dkonly.blog10.fc2.com/blog-entry-46.html
画面の向きの取得方法
Android Wiki* 画面の向き(ScreenOrientation) より引用
現在の画面の向きはActivityから下記のように取得できます。
Configuration config = getResources().getConfiguration(); // Landscape(横長) if(config.orientation == Configuration.ORIENTATION_LANDSCAPE) { Toast toast = Toast.makeText(this, "Landscape", Toast.LENGTH_SHORT); toast.show(); } // Portrait(縦長) else if (config.orientation == Configuration.ORIENTATION_PORTRAIT) { Toast toast = Toast.makeText(this, "Portrait", Toast.LENGTH_SHORT); toast.show(); } // Square(正方形) エミュレータではこの値は返って来ない。 else if (config.orientation == Configuration.ORIENTATION_SQUARE) { Toast toast = Toast.makeText(this, "Square", Toast.LENGTH_SHORT); toast.show(); }
Androidで画面を縦横固定する方法
KamoLand Androidで画面を縦横固定する方法より引用
以下のメソッドをActivityクラスに記述して,呼び出せばOK
/** * 縦横固定の設定をActivityに適用する * @param fixOrient 固定するならtrue,回転するように戻すならfalse */ private void controlOrientationFix(boolean fixOrient) { if (fixOrient) { int ori = getResources().getConfiguration().orientation; if (ori == Configuration.ORIENTATION_LANDSCAPE) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } else { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } } else { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED ); } }