Пользовательский макет в Android

1

Кто-нибудь знает, как реализовать пользовательские макеты в android?

У меня есть класс CustomLayout.

CustomLayout extends LinearLayout

с конструкторами public CustomLayout(Context context) и public CustomLayout(Context context, AttributeSet attrs)

У меня также есть xml-макет (example.xml)

<com.myproject.layout.CustomLayout 
    android:id="@+id/cl_main"    
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

   <Button
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="inside button" />

</com.myproject.layout.CustomLayout>

Когда я устанавливаю представление контента в своей деятельности

    setContentView(R.layout.example);

Моя глобальная раскладка завышена и показана, но "внутренняя кнопка" не находится внутри макета... Любые идеи?

  • 0
    Я думаю, что ваш CustomLayout занимает всю область. укажите layout_height как wrapcontent.
  • 0
    Поскольку кнопка находится внутри, fill_parent не является проблемой. Я хочу полноэкранный макет, с видами внутри.
Теги:
android-layout

1 ответ

1
Лучший ответ

Я обнаружил, что вы должны переопределить этот метод.

public void addView(View child, android.view.ViewGroup.LayoutParams params)
{
    //... 
    llContainer.addView(child, fillParentLayoutParams);
    //...
}

где llContainer - это макет, где должны быть размещены представления. этот метод вызывается надувным устройством для заполнения вашего представления с помощью определений xml.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню