3

我想在顶部和底部的每个活动中添加一个ImageButton、一个button和一个。我想使用. 所以我想在我的每个 Android Activity 中添加页眉和页脚。我不知道该怎么做。我不需要如何编写页眉或页脚的源代码。我想知道的是我必须在哪里定义页眉和页脚意味着我需要在每个 xml 文件中添加页眉和页脚,还是需要定义两个或在每个其他 xml 文件中使用这些 xml 文件。或者是否有任何其他方式意味着使用该活动的 java 文件中的引用。任何帮助表示赞赏。textviewheader and footerheader.xmlfooter.xml

4

6 回答 6

10

定义两个单独的文件header.xmland footer.xmland and than 使用

`

<include layout="@layout/footer"/>
于 2012-04-24T10:25:08.633 回答
4

请参阅此链接:

这和你的问题完全一样。如果你想拥有这些页眉和页脚,你应该构建一个自定义视图并在你的应用程序中使用它。您可以使用操作栏之类的内容作为标题。

于 2012-04-24T10:12:02.413 回答
2

“我是否需要定义两个 header.xml 或 footer.xml 并在每个其他 xml 文件中使用这些 xml 文件”

是的,据我所知,这是最好的方法。您可以使用 include xml 标记将其他 .xml 布局文件包含在其他布局文件中。像:

...
<include layout="@layout/header"/>
...
<include layout="@layout/footer"/>
...
于 2012-04-24T10:10:33.023 回答
2

Android 本身没有页眉和页脚的概念。但是,您可以在布局中定义概念页眉和页脚一次,然后在其他布局中多次使用它们,只需使用(例如)调用它们:

<include layout="@layout/header"/>

您可以看一下这个示例,以更好地了解如何在整个应用程序中重用布局。

http://developer.android.com/training/improving-layouts/reusing-layouts.html

于 2012-04-24T10:14:33.033 回答
2
This is best example for Common Header Footer in All Activities


BaseActiivty.java
=================



 public class BaseActivity extends FragmentActivity {

    RelativeLayout mRelativeLayout;
    FrameLayout frame_container;
    TextView header_txt,footer_txt;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);


    }

    @Override
    public void setContentView(int layoutResID)

    {
        mRelativeLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.activity_base, null);
        frame_container = (FrameLayout) mRelativeLayout.findViewById(R.id.frame_container);
        // set the drawer dialog_view as main content view of Activity.
        setContentView(mRelativeLayout);
        // add dialog_view of BaseActivities inside framelayout.i.e. frame_container
        getLayoutInflater().inflate(layoutResID, frame_container, true);

        header_txt = (TextView) findViewById(R.id.header_txt);
        footer_txt = (TextView) findViewById(R.id.footer_txt);

    }
}


   MainActivity.java
   =================

public class MainActivity extends BaseActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }





activity_base.xml
=================





<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/content_base"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <RelativeLayout
        android:id="@+id/header_RL"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="@color/colorAccent">

        <TextView
            android:id="@+id/header_txt"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textSize="30dp"
            android:gravity="center"
            android:text="Header"/>

    </RelativeLayout>


    <FrameLayout
        android:id="@+id/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/footer_RL"
        android:layout_below="@+id/header_RL">

    </FrameLayout>


    <RelativeLayout
        android:id="@+id/footer_RL"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:background="@color/colorAccent">

        <TextView
            android:id="@+id/footer_txt"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textSize="30dp"
            android:gravity="center"
            android:text="Footer"/>

    </RelativeLayout>

</RelativeLayout>





activity_main.xml
==================


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">


        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="Hello World!"
            android:textSize="30dp" />

    </LinearLayout>
</RelativeLayout>
于 2016-12-25T07:20:20.280 回答
1

你有两个选择。包括和合并。

请在此处阅读有关这些选项的更多信息以包含此处以进行合并

于 2012-04-24T10:11:19.883 回答