一般に、ビュー階層に冗長なレイアウトを持たずに、実行時に XML で定義されたカスタム レイアウトを拡張する方法を知りたいです。
今、特に:
XML で宣言されたカスタム レイアウトがありmy_relative_layout.xml
、そのルート要素は RelativeLayout です。という RelativeLayout を拡張するクラスも定義しましたMyRelativeLayout.java
。
階層内に冗長な RelativeLayout がないようにするにはmy_relative_layout.xml
どうすればよいでしょうか。MyRelativeLayout.java
使用してみ<merge>
ました-すべてのルート要素属性がmy_relative_layout.xml
影響しなかったため、レイアウトの内容が台無しになりました。
また、カスタム レイアウト クラスを のルート要素として宣言しようとしましmy_relative_layout.xml
たが、インフレ例外が発生しました (xml をインフレートしているときに、ルート要素を null または this に設定しようとしましたMyRelativeLayout.java
- ルートへのアタッチで true または false を使用)。