我想製作XML模板以重用代碼。問題在於其中一個模板有幾個線性佈局。但是,當我運行該應用程序時,它只顯示一個linearLayout。 (我只能看到id:manage_services。而不是manage_view既沒有manage_shows)。 這是我的代碼。我希望任何人都能弄清楚這個問題。如何製作模板xml
drawable_manage.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/manage_services"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:drawableLeft="@drawable/menu_settings"
android:text="@string/title_manage_services"
android:textColor="#ffffff"
android:textSize="20sp" />
</LinearLayout>
<View
android:id="@+id/manage_view"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@color/menu_divider" />
<LinearLayout
android:id="@+id/manage_shows"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="@dimen/slide_menu_header" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:drawableLeft="@drawable/menu_settings"
android:text="@string/title_manage_shows"
android:textColor="#ffffff"
android:textSize="20sp" />
</LinearLayout>
</LinearLayout>
MainMenuActivity.java
private void addPanels(){
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
android.support.v4.widget.DrawerLayout parent = (android.support.v4.widget.DrawerLayout) inflater.inflate(R.layout.activity_main_menu,null);
View layout_manage = inflater.inflate(R.layout.drawable_layout_manage, null);
View layout_names = inflater.inflate(R.layout.drawable_layout_names, null);
View layout_emails = inflater.inflate(R.layout.drawable_layout_email, null);
LinearLayout leftLinearLayout = (LinearLayout)parent.findViewById(R.id.left_drawer);
leftLinearLayout.addView(layout_names);
leftLinearLayout.addView(layout_emails);
leftLinearLayout.addView(layout_manage);
setContentView(parent);
}
你正在使用水平佈局作爲父對象,但你定義每個孩子都有'android:layout_width =「fill_parent」',所以第一個孩子佔據了屏幕上的所有空間。嘗試將寬度設置爲'wrap_content'。 – Tau
你可以給你一個屏幕截圖,你希望你的模板應該看起來像嗎? –