zoukankan      html  css  js  c++  java
  • LayoutInflater Activity重新布局利器

    当你觉得activity太多时怎么办,能不能把多个activity 界面布局融合到一个activity上然后点击刷新呢?

    LayoutInflater 就是这样的对象,  可以不断载入不同的 Layout  XML,然后找到自己的控件,添加点击事件,最后加到这个view里。

    具体如下:

      1.创建一个Layout XML 作为容器 里面就一个LinearLayout 作为承载其他Layout XML 的“父类”;

      

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:background="#158684" >
        
        <LinearLayout android:id="@+id/homepage_layout"
            android:layout_width="fill_parent" android:layout_height="fill_parent"></LinearLayout>
    
    </LinearLayout>

      2.创建新的你想要的Layout XML 

        3.布局工作完成后,就是代码实现了:

        

    LayoutInflater inflater = LayoutInflater.from(this); //this--->Activity
    LinearLayout homepage = (LinearLayout)view.findViewById(R.id.homepage_layout); //根据ID找到”容器“并创建“容器”对象

         4.接下来就是为自己新布局里的控件添加各种事件了

        

    View _view = inflater.inflate(R.layout.listview_layout, null);  //首先载入自己布局界面
    LinearLayout _layout
    = (LinearLayout) _view.findViewById(R.id.listview_layout); //再找到布局对象
    listView = (ListView) _layout.findViewById(R.id.mainListView); //用新的布局对象找到控件

      5.最后就是怎么添加这个容器里了  

        

    homepage.removeAllViews(); //清楚当前view界面  
    homepage.addView(_layout);  //将新的View 载入”容器“

    具体代码可以参考(http://www.cnblogs.com/TerryBlog/archive/2010/07/25/1784811.html) 

     

  • 相关阅读:
    mysql下载与安装
    Observable Flowable Test
    Linux 技巧:让进程在后台可靠运行的几种方法
    CallBack
    Linux内存分析
    Linux安装svn
    百度地图api
    安装Mysql官方的sakila数据库
    yii2 展示静态页面
    yii2 手动安装第三方扩展
  • 原文地址:https://www.cnblogs.com/gfqFighting/p/2789421.html
Copyright © 2011-2022 走看看