在动态中使用xamarin android中的<include>

时间:2015-07-29 10:15:15

标签: c# android xamarin

我在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?

2 个答案:

答案 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);