我嘗試統一我的佈局,所以我想重用一些UI元素。如果我嘗試包括在我的main.xml中應用程序崩潰的那些元素與包括一個XML文件崩潰我的應用程序
02-15 13:07:02.470:E/AndroidRuntime(16588):了java.lang.RuntimeException:致二進制XML文件第2行:您必須提供layout_width屬性。
我的XML看起來像
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLL"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<include layout="@layout/include_topbar"/>
</LinearLayout>
<!-- include_topbar -->
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout style="@style/topbar_linearlayout">
<include layout="@layout/include_icon"/>
<include layout="@layout/include_topbar_title"/>
</LinearLayout>
</merge>
<!-- include_icon -->
<merge xmlns:android="schemas.android.com/apk/res/android">
<View
android:background="@drawable/icon"
android:layout_width="48dp"
android:layout_height="match_parent"
android:layout_marginRight="5dp"
/></merge>
<!-- include_topbar_title -->
<merge xmlns:android="schemas.android.com/apk/res/android">
<TextView
android:gravity="center"
android:text="@string/bla"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
/></merge>
<!-- topbar_linearlayout -->
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="topbar_linearlayout">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">58dp</item>
<item name="android:padding">5dp</item>
<item name="android:orientation">horizontal</item>
<item name="android:background">@drawable/gradient_background</item>
</style>
</resources>
編輯:不要使用<merge>
,那麼它會工作...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/topbar_linearlayout">
<include layout="@layout/include_icon"/>
<include layout="@layout/include_topbar_title"/>
</LinearLayout>
<!-- include_icon -->
<View xmlns:android="schemas.android.com/apk/res/android"
android:background="@drawable/icon"
android:layout_width="48dp"
android:layout_height="match_parent"
android:layout_marginRight="5dp"
/>
不應包含在例如include_icon.xml。此外,即使我提供了相同的錯誤,該應用也會崩潰。 – 2012-02-15 13:35:42
此寬度和高度用於此佈局分配空間。主要是如果你想在不同的UI中使用不同大小的相同佈局...所以,只需將它設置爲高度和寬度的wrap_content – Vinay 2012-02-15 13:41:21
[doc](http://developer.android.com/resources/articles/ layout-tricks-reuse.html)不使用layout_xxx。正如所說,即使我指定它,我的應用程序崩潰。 – 2012-02-15 13:44:01