日々精進

新しく学んだことを書き留めていきます

mergeタグを使うとdesign viewでviewが崩れる問題

今のところ、design viewを表示するときはmergeタグをLinearLayoutなどに変更するしかなさそう。 ググって解決策がいくつか書いてあるサイトを見つけたが、どれもイマイチだった。

http://gotoanswer.stanford.edu/?q=Preview+layout+with+merge+root+tag+in+Intellij+IDEA%2FAndroid+Studio

載ってた解決策は以下(詳細は元サイト参照)

  • 別にlayoutファイル(simple_relativelayout.xml)を作り、そこにincludeして表示する。
    simple_relativelayout.xmlでincludeするlayoutは一度に一つだけなので、他のlayoutのdesign viewを表示しようと思ったらsimple_relativelayout.xmlを書き換えないといけないのがイマイチ。
  • mergeの代わりにカスタムViewGroupのクラス名を指定する
    これだと余分なView階層が一つ出来る。これやるんだったらRootタグをLinearLayoutとかにした方がまし。

この問題はIssueになっているようだけど、ずっと対応されていない。。2013年から放置されてるから今後も対応される見込みは低そう。あまり需要無いのか?

https://code.google.com/p/android/issues/detail?id=61652