使用& 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动态?

使用& lt; include>在xamarin android动态

我建议使用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);

的功能很好!