我在xamarin中有一个布局,有两个部分:标题和正文 取决于我必须更改标题部分的属性。 我创建了2个布局用作标题部分:header1和header2 我在我的xamarin android布局中使用了标签,将我的标题布局添加到主布局中。
<include
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
layout="@layout/header1" />
但是我无法动态地将布局属性更改为header2?
答案 0 :(得分:1)
我建议使用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()
来更改标题
答案 1 :(得分:0)
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);