カスタムビューとレイアウトエディタ
Posted in Android
アンドロイドでカスタムビューを作るときのお話
カスタムビューを作った時にレイアウトエディタでの表示がカッコよくならなくて
諦めたりしてませんかー?
isInEditMode()
http://developer.android.com/reference/android/view/View.html
これが便利!
Viewを継承してなんかのCustomViewを作るんですが、
ActivityのonCreateなんかで
public void onCreate() { new MyCustomView(this, param1, param2); }
とか
myview = findViewById(R.id.my_custom_view); myview.setMyParameter("hoge");
とかって処理をして、表示内容を変えたりすると思うんです。
何も渡さない時のデフォルトをコンストラクタで用意してもいいんですが、
その処理がそれなりに重いものだったりすると無駄がおおい、、、、
isInEditMode()
そんなときisInEditMode()で判断して、レイアウトエディタで表示するときにだけの処理なんかが書けるようになります!
myview = findViewById(R.id.my_custom_view); if( isInEditMode() ){ myview.setMyParameter("レイアウトエディタ表示"); }else{ myview.setMyParameter(message); }
みたいな?
こういうのちゃんとやっとくとプログラマとUIデザイナーとの分業もやりやすいです!?
参考:
http://www.united-bears.co.jp/blog/archives/402
http://to40.blog55.fc2.com/tb.php/29-4af5d637
トラックバックURL - http://mashi.exciton.jp/archives/117/trackback