У меня проблема с размещением компонента в моем пользовательском компоненте в 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?
Спасибо