添加页脚为整个Android应用程序(Add Footer for whole Android Ap

2019-10-18 17:47发布

在我的应用程序为每个页脚activity 。 基本上我有一个ImageView页脚中该得到的图像(图像添加) Web service一定的时间间隔后,改变图像(如滑动增加)。 什么我做的是将每个活动和调用Web服务页脚在每一个活动时加载图像到ImageView (这将是我的应用程序非常重的处理,因为我有很多Java classes(Activities)在我的应用程序),那么我的问题是...是否有任何Android的方式,我可以为整个应用程序中添加页脚? 就像如果我在添加页脚first activity在底部,现在如果我移动到second activity, third activity等等....页脚将仍然存在,我已经在添加first activity 。 (相同的像iPhone Navigation controller使用)

提前致谢

Answer 1:

创建视图编程然后将其存储在其中可以在整个应用程序要访问一个单独的对象,这将避免创建一个新的视图各一次。

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);

然后把它添加到当前活动编程。



Answer 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);
        }
}


文章来源: Add Footer for whole Android Application