Как поместить компонент в мой пользовательский компонент в android xml? - PullRequest
0 голосов
/ 10 марта 2020

У меня проблема с размещением компонента в моем пользовательском компоненте в android xml. Давайте сначала начнем с ситуации:

Я начинаю с реактивной разработки и только начал android разработки.
Итак, я попытался выполнить компонентную разработку в своем новом android проекте. .
Для этого я создал пользовательский компонент для панели заголовка, который имеет текст и может содержать другой компонент в левой или правой части ( Мой пользовательский компонент панели заголовка ).

Для кода я создаю функцию для динамического добавления компонента на левую или правую сторону, например:

class HeaderBar @JvmOverloads constructor(
    context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr) {
    private val leftLayout: FrameLayout
    private val rightLayout: FrameLayout

    init {
        val view = LayoutInflater.from(context).inflate(
            R.layout.header_bar, this, true
        )

        // set references
        leftLayout = view.header_bar_left_layout
        rightLayout = view.header_bar_right_layout
    }

    fun addLeftView(childView: View) {
        leftLayout.addView(childView)
    }

    fun addRightView(childView: View) {
        rightLayout.addView(childView)
    }
}

Дело в том, что я могу динамически добавлять компонент в код слева или справа.
Но я хочу явно объявить левый или правый компонент в файле android xml.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <!-- I want to declare it here, on xml... -->
    <com.my.application.HeaderBar
        android:id="@+id/empty_header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

Извините за длинную историю, , поэтому вопрос как добавить компонент (может быть виджетом или другим настраиваемым компонентом) к существующему настраиваемому компоненту в android xml?
Спасибо

...