Как я могу программно включить макет в Android?
Я ищу способ включить макет программно вместо использования XML-тега include
как в моем примере:
<include layout="@layout/message"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.75"/>
нужно изменить этот параметр "layout= " @layout / message" программно, пожалуйста.
есть идеи, как это сделать?
3 ответа:
использовать
ViewStub
вместоinclude
:<ViewStub android:id="@+id/layout_stub" android:inflatedId="@+id/message_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.75" />
затем в коде получите ссылку на заглушку, установите ее ресурс макета и раздуйте его:
ViewStub stub = (ViewStub) findViewById(R.id.layout_stub); stub.setLayoutResource(R.layout.whatever_layout_you_want); View inflated = stub.inflate();