不能在另一个* .axml文件中包含* .axml文件

时间:2013-06-16 11:36:33

标签: android-layout xamarin.android

我想使用xamarin android在另一个.axml中包含.axml文件的布局,但是, 当我使用<include>时,它没有显示任何东西。什么是单声道android中的<include> android,就像下面的链接一样:

android reuse layouts

1 个答案:

答案 0 :(得分:11)

Xamarin.Android(Android版Mono)或原生Android的XML文件没有区别。 axml扩展名纯粹是为了触发VS和Xamarin Studio中的代码完成。 Android不关心文件的扩展名。

因此,让我允许展示显示<merge><include>标记的示例:

<强> progress_with_text.axml:

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
  <TextView 
    android:text="Loading..."
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:id="@+id/lblLoading" 
    android:layout_marginLeft="180dp"
    android:layout_marginTop="240dp"/>
  <ProgressBar 
    android:id="@+id/progBar"
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content"
    android:layout_marginLeft="130dp"
    android:layout_marginTop="230dp"/>
</merge>

<强> main.axml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <include
        layout="@layout/progress_with_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

这完全没问题!