android 多个页面怎么共用同一组件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 多个页面怎么共用同一组件相关的知识,希望对你有一定的参考价值。

自定义组件就行。如果觉得还不好就创建一个module。

关于自定义组件的实例,请参考android学习手册android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳

.多个Activity共用相同布局或者相同控件:避免重复代码;

BaseActivit代码:

   

public class BaseActivity extends Activity implements OnClickListener

    /*

     *  多个Activity共用相同布局或者相同控件

     *  写个基类继承,避免重复代码

     */

    @Override

    public void onClick(View v)

    

        switch (v.getId())

        

        case R.id.common_titlebar_btn_back:

            finish();

            break;

        default:

            break;

        

        baseOnClick(v);

    

                  

    protected void baseOnClick(View v)

    

                      

    

                  

    @Override

    protected void onCreate(Bundle savedInstanceState)

    

        super.onCreate(savedInstanceState);

//        setContentView(R.layout.activity_base);

    

                  

    @Override

    protected void onResume()

    

        super.onResume();

        onPostOnCreate();

    

                  

    public final void onPostOnCreate()//find同一个控件

    

        findViewById(R.id.common_titlebar_btn_back).setOnClickListener(this);

    

    @Override

    public boolean onCreateOptionsMenu(Menu menu)

    

        getMenuInflater().inflate(R.menu.base, menu);

        return true;

    

   


子类代码:


public class ThirdActivity extends BaseActivity

    /**

     *  layout里复用同一布局:

     *     < include

     *   android:id="@+id/include1"

     *   layout="@layout/common_titlebar" />

     */

    @Override

    protected void onCreate(Bundle savedInstanceState)

    

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_third_main);

    

   

参考技术A 1. 组件定义成Service就可以共享的

每个HTML都要用同一个header和footer怎么共用啊?

我的每一个页面都用相同的header和footer有共用的代码吗?

你可以用html和js的代码转换器
把关于header和footer的html代码分别进行转换,转换成两个js文件;
然后再每个需要的html页面添加上该js就可以了
例:<script type=\'javascript\' src=\'js/header.js\'></script>
这样的格式就可以了
参考技术A 用js调用或者用iframe插入同头部和尾部文件 参考技术B 1、<object style="border:0px" type="text/x-scriptlet" data="import.htm" width=100% height=30></object>

2、<iframe name="content_frame" marginwidth=0 marginheight=0 width=100% height=30 src="import.htm" frameborder=0></iframe>

3、<span id=showImport></span>
<IE:Download ID="oDownload" STYLE="behavior:url(#default#download)" />
<script>
function onDownloadDone(downDate)
showImport.innerHTML=downDate

oDownload.startDownload(’import.htm’,onDownloadDone)
</script>

以上是关于android 多个页面怎么共用同一组件的主要内容,如果未能解决你的问题,请参考以下文章

Vue多个路由共用同一组件时,互相切换时更新组件

iis下的多个网站如何共用80端口

每个HTML都要用同一个header和footer怎么共用啊?

Flutter Android IOS 三端共用同一份配置文件

Flutter Android IOS 三端共用同一份配置文件

Android 在同一个手机上安装多个同样的apk,便于调试