Эквивалент тега ‹fragment› в anko DSL

Как я могу заменить этот XML эквивалентом Anko DSL?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

      // more code here....

      <fragment android:id="@+id/my_fragment"
          android:layout_width="340dp"
          android:layout_height="match_parent"
          android:layout_gravity="start"
          android:name="com.myapp.MyFragment"
          />

      // more code here....

</LinearLayout>

Анко версия:

UI {
    linearLayout {
        orientation= VERTICAL

        fragment {  // error! 
             name = "com.myapp.MyFragment"
        }

    }.lparams(width=..., height=...)
}

Кажется, в DSL нет эквивалента тегу фрагмента.

Спасибо!


person abond    schedule 10.06.2016    source источник
comment
// error!. Какая ошибка?   -  person nhaarman    schedule 10.06.2016
comment
Ошибка в том, что в anko нет такого понятия, как фрагмент. Вопрос в том, как преобразовать предоставленное XML-представление в anko DSL?   -  person abond    schedule 10.06.2016


Ответы (1)


В настоящее время в Anko нет специальной функции, вы можете просто использовать для этого Android API.

supportFragmentManager.beginTransaction().add(this.id,
        com.myapp.MyFragment()).commit()

Обратите внимание, что вам нужно установить id для вашего linearLayout, так как метод add требует, чтобы он был установлен.

person yanex    schedule 10.06.2016
comment
Спасибо, янекс! И не могли бы вы сказать мне, есть ли у вас форум или группа пользователей специально для Anko или SO — лучшее место для размещения вопросов, связанных с Anko? - person abond; 11.06.2016
comment
На данный момент вы можете просто использовать категорию «Android» для таких сообщений. А еще у нас есть Slack-сообщество с каналом #anko. - person yanex; 12.06.2016