14

Github wiki ページには、Activityインスタンスで使用されるこの例が示されています。

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    verticalLayout {
        padding = dip(30)
        editText {
            hint = "Name"
            textSize = 24f
        }
        editText {
            hint = "Password"
            textSize = 24f
        }
        button("Login") {
            textSize = 26f
        }
    }
}

の中で同じことをする方法はFragment

verticalLayoutそのブロックを入れようとしましonCreateViewたが、メソッドを解決できません。依存関係を追加しましanko-support-v4たが、まだうまくいきません。

4

3 に答える 3

21

Anko 0.8AnkoComponentでは、UI を別のクラスに保持して別の場所で再利用できるようにする場合は、 も使用できます。

class FragmentUi<T>: AnkoComponent<T> {
    override fun createView(ui: AnkoContext<T>) = with(ui) {
        verticalLayout {
            // ...
        }
    }
}

onCreateView()フラグメントで呼び出すことができます

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup, savedInstanceState: Bundle?): View
        = FragmentUi<Fragment>().createView(AnkoContext.create(ctx, this))
于 2015-12-27T05:32:34.183 に答える