使用& lt; include>在xamarin android动态
本文关键字:xamarin android 动态 include lt 使用 | 更新日期: 2023-09-27 18:05:14
我在xamarin中有一个布局,分为两部分:header和body取决于一个属性,我必须改变头部部分。我创建了2个布局用作标题部分:header1和header2我使用标签在我的xamarin android布局添加我的标题布局到主布局。
<include
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
layout="@layout/header1" />
,但我不能改变布局属性为header2动态?
我建议使用ViewSwitcher,因为你只需要在两种布局之间切换:
.axml
<ViewSwitcher
android:id="@+id/headerSwitcher"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Your two headers go here -->
</ViewSwitcher>
在Activity/Fragment上创建一个私有字段,并在OnCreate方法中初始化:
private Switcher _headerSwitcher;
//Inside your OnCreate
_headerSwitcher = FindViewById<ViewSwitcher>(Resource.Id.headerSwitcher);
然后你可以使用_headerSwitcher.ShowNext()
或_headerSwitcher.ShowPrevious()
来改变你的标题
LayoutInflater是最好的解决方案:
LayoutInflater inflater = LayoutInflater.From(this);
View inflatedLayout = inflater.Inflate(Resource.Layout.yourlayput, null);
LinearLayout ll = this.Window.FindViewById<LinearLayout>(Resource.Id.container);
ll.AddView(inflatedLayout);
的功能很好!