0

AndroidのImageViewから継承したクラスがあります。

問題は、XML で定義されているように、コンストラクターで "layout_marginLeft" などのレイアウト パラメーターを取得することです。または、オーバーライドされた onFinishInflate() で。this.getLayoutParams が onFinishInflate() で null を返すため、2 番目の方法は失敗するため、完全に不可能に見えます。

しかし、コンストラクターで AttributeSet から取得する方法は? attrSet.getAttributeIntValue("android", "layout_marginLeft", -100500); は常に -100500 を返しますが、このパラメーターは属性名のリストに存在します。「android」を空の文字列「」に置き換えても、違いはありません。とにかく、アンドロイドのドキュメントは「名前空間」とは何かを説明していません。それは単なる神秘的な名前空間であり、コメントがないことを示しています:(

4

0 に答える 0