2

たとえば、次のようなカスタム ビューを作成する場合:

class FrameLayoutNormal: FrameLayout{
constructor(context: Context) : this(context, null)
    constructor(context: Context, attrs: AttributeSet?) : this(context, attrs, 0)
    constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {

    textView{
         lparams(...)
    }
}

コンパイラは親が誰であるかを知らないため、lparams を定義することはできません。TextView を FrameLayout 内にラップすると機能し、スキャンしてレイアウト パラメータを指定します。ただし、カスタム ビューでは、親はそれ自体です。では、拡張機能を使用できるように、子供たちにそれを認識させるにはどうすればよいでしょうか?

から拡張する以外に、それを機能させる方法はあります_FrameLayoutか?`

4

1 に答える 1