你好我正在开发android。
我有一个在每个活动中使用的布局。
我的意思是我有一个有页脚和标题的布局。
在每个活动上,页眉和页脚相同并具有相同的操作。
我想使用页眉和页脚的一般布局。
我的意思是在一个活动中,我会将内容区域布局放到一般布局中。
我觉得有些但不够。
我该怎么做?
这是否有伪文件?
抱歉英语不好。答案 0 :(得分:4)
您所谈论的是一种名为Fragments的新Android设计模式。由于3.0片段是像活动一样的小活动,可以组合成一个屏幕。
因此,您将创建一个页眉和页脚片段,然后将这些片段包含在需要它们的所有活动中。
您可能想要查看的其他模式是操作栏模式,该模式用于在屏幕顶部放置一个带有常用内容和功能的栏,类似于您的标题。
另一种方法是使用xml文件定义页眉和页脚,然后在代码中将它们实例化为视图,并以编程方式将它们添加到内容视图xml定义中。这个问题是页眉和页脚背后的代码需要在每个控制器中复制。你最好的选择是使用Fragments,我会在下面添加一些有用的链接:
http://developer.android.com/guide/topics/ui/actionbar.html
http://developer.android.com/guide/topics/fundamentals/fragments.html
http://mobile.tutsplus.com/tutorials/android/android-compatibility-working-with-fragments/
https://stackoverflow.com/questions/5710573/need-a-fragments-example
答案 1 :(得分:2)
你可以使用包括头和&页脚或从基类动态添加它们,但我认为更好的方法是使用单个Activity来托管应用程序,然后使用Fragments作为屏幕内容。
http://android-developers.blogspot.co.uk/2011/02/android-30-fragments-api.html
答案 2 :(得分:1)
我没有反对片段,是的,它们是要走的路,但是对于初学的Android开发人员,你可以实现你尝试用<include>
和基础活动做的事情。 / p>
这个article很好地解释了<include>
的使用,但总而言之,你可以有一个布局xml文件,你可以“包含”到另一个布局,而不是重写相同的东西一遍又一遍。
对于页眉和页脚的功能(假设它们在单击时执行某些操作),您可以创建一个可以扩展而不是正常的android Activity
的基本活动。
定义此基本活动中页眉和页脚单击的逻辑,例如使用此示例代码:
public class MyBaseActivity extends Activity {
...
public void onHeaderClick(View view) {
// when header is clicked, do this.
}
public void onFooterClick(View view) {
// when footer is clicked, do this.
在您的布局(您作为单独的xml所拥有的布局)中,向页眉/页脚添加onClick
属性,在基本活动中指定方法的名称。
,例如
android:onClick="onHeaderClick"
然后,只需要为所有具有页眉和页脚的活动扩展MyBaseActivity。
答案 3 :(得分:-1)
检查this,您确实可以随时重复使用您的布局。