如何制作在所有活动中使用的标题?

时间:2014-10-22 06:51:12

标签: android android-layout

我有四个屏幕略有不同的标题,但相同的背景图像(白色),相同的标题背景图像或背景颜色(灰色),相同的标志图像(左标识)和相同的红色背景图像(正确的一个)。

我需要在所有活动中使用此标头。我可以制作一个可以在所有活动中添加的自定义xml吗?

3 个答案:

答案 0 :(得分:1)

您可以在另一个xml中编写标题,然后将其包含在其他视图中:

<include layout="@layout/header" android:id="@+id/id" />

答案 1 :(得分:0)

您需要为标头保留一个xml :(比如,header.xml)

<强> header.xml:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"    
    android:id="@+id/headerlayout"
    android:layout_width="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_height="wrap_content"
    android:gravity="top"
    android:padding="0dip"
    android:orientation="vertical"
    android:textColor="@color/black"
    >
<!-- Header content -->

</LinearLayout>

现在,在您的所有活动的xml中,按如下所示包含该xml:

<强> activity_main.xml中:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/body_bkgd" >

    <include
        android:id="@+id/header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        layout="@layout/header" />

    <!-- other views -->

</RelativeLayout>

希望它有所帮助。

修改

要制作header.xml,您需要了解如何设计布局。

简单就是:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"    
    android:id="@+id/headerlayout"
    android:layout_width="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_height="wrap_content"
    android:gravity="top"
    android:padding="0dip"
    android:orientation="vertical"
    android:textColor="@color/black"
    >
    <ImageView
        android:id="@+id/firstimg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:src="@drawable/yourimage" />

    <Button
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Alert Details" 
        android:background="#f60000"
        android:textColor="#ffffff" />

</LinearLayout>

答案 2 :(得分:0)

您还可以开发一个&#34; BaseActivity&#34;标题。 应包含标头的所有其他活动可以从BaseActivity扩展。

优点是,如果您的标头包含一些onClick事件,那么您必须在BaseActivity中只编写一次。