我想在顶部和底部的每个活动中添加一个ImageButton
、一个button
和一个。我想使用. 所以我想在我的每个 Android Activity 中添加页眉和页脚。我不知道该怎么做。我不需要如何编写页眉或页脚的源代码。我想知道的是我必须在哪里定义页眉和页脚意味着我需要在每个 xml 文件中添加页眉和页脚,还是需要定义两个或在每个其他 xml 文件中使用这些 xml 文件。或者是否有任何其他方式意味着使用该活动的 java 文件中的引用。任何帮助表示赞赏。textview
header and footer
header.xml
footer.xml
问问题
21894 次
6 回答
10
定义两个单独的文件header.xml
and footer.xml
and 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 回答