为整个Android应用程序添加页脚

时间:2013-10-09 06:54:10

标签: android footer

在我的应用程序中,每个activity都有一个页脚。基本上我有一个ImageView页脚从Web service获取图像(添加图像)并在一段时间间隔后更改图像(如滑动添加)。我正在做的是在每个活动中添加页脚并在每个活动中调用Web服务以将图像加载到ImageView(这对我的应用程序来说将是一个非常繁重的处理,因为我的许多Java classes(Activities) app),所以我的问题是...... 在android中我有什么方法可以为整个应用程序添加页脚?就像我在底部的first activity添加一个页脚,现在如果我移动到second activity, third activity等等......页脚仍然会在first activity中添加}。 (与使用iPhone Navigation controller相同)

提前致谢

2 个答案:

答案 0 :(得分:2)

创建一个要在应用程序的所有屏幕上显示的页脚xml文件,然后按照以下步骤操作:

创建一个Footer.java活动

public class Footer extends Activity {
        public void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.footer);
        }
 }

然后将该类扩展到另一个类上以供使用,如下所示:

public class Test extends Footer 
{
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            ViewGroup vg = (ViewGroup) findViewById(R.id.lldata);
            ViewGroup.inflate(Home.this, R.layout.test, vg);
        }
}

答案 1 :(得分:2)

以编程方式创建视图,然后将其存储在可在整个应用程序中访问的单个对象中,这样可以避免每次都创建新视图。

Singleton类示例:

public class MySingleFooter{
MySingleFooter mySingleFooter;
View myFooter;

private MySingleFooter(){}

public static MySingleFooter getInstance()
{
if (mySingleFooter == null)
    {
    mySingleFooter = new MySingleFooter();
    }

return mySingleFooter;
}

void setFooter(View myFooter)
{
    this.myFooter = myFooter;
}

View getFooter()
{
    return myFooter;
}}

您可以从以下所有活动中设置页脚:

MySingleFooter footerStore = MySingleFooter.getInstance(); footerStore.setFooter(thefooter);

您可以从以下所有活动中检索页脚:

MySingleFooter footerStore = MySingleFooter.getInstance(); View myview = footerStore.getFooter(thefooter);

然后以编程方式将其添加到当前活动中。