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) 

 

posted on 2012-11-26 17:30  冲锋的路上的兵  阅读(668)  评论(0编辑  收藏  举报