Пользовательский макет в Android - PullRequest
1 голос
/ 09 декабря 2011

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

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

CustomLayout extends LinearLayout

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

Iтакже имеет макет 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);

Мой глобальный макет раздувается и отображается, но «внутреннийкнопка "не находится внутри макета ... Есть идеи?

1 Ответ

1 голос
/ 09 декабря 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...