Android中多层动态嵌套布局的实现

Android中多层动态嵌套布局的实现

  1.概念:在开发一些复杂界面,尤其是开发平板电脑页面时,界面布局往往比手机布局复杂很多。此时就需要用到嵌套布局。同时为了达到某种效果,需要局部的页面能够动态的变化,最典型的就是在一个页面中使用多个ViewPager。当这些ViewPager所在的页面也是动态变化的时候,就需要实现多层LinearLayout的嵌套。比如一个标签页面,头部是静态的,内容部分是动态变化的,同时每个内容中又需要动态变化,代码实现时就需要通过多次添加来实现。

  2.下面是一个简单的案例(该案例只是实现了多层嵌套的添加,如果需要实现动态的添加效果,只需通过控制条件改变每次添加的内容即可。)

  PadTestActivity.java
复制代码
package com.devin;

import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.LinearLayout;

public class PadTestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        LayoutInflater inflater=getLayoutInflater();
        
        //Add first page
        LinearLayout myFirst = (LinearLayout) inflater.inflate(
                R.layout.first, null).findViewById(R.id.myFirst);        
        LinearLayout layoutMain = (LinearLayout)findViewById(R.id.LayoutMain);
        layoutMain.removeAllViews();
        layoutMain.addView(myFirst);    //Show the page first
        
        //Add second page
        LinearLayout mySecond = (LinearLayout) inflater.inflate(
                R.layout.second, null).findViewById(R.id.mySecond);    
        LinearLayout layoutFirst = (LinearLayout) findViewById(R.id.LayoutFirst);
        layoutFirst.addView(mySecond);    
        
        //Add third page
        LinearLayout myThird = (LinearLayout) inflater.inflate(
                R.layout.third, null).findViewById(R.id.myThird);    
        LinearLayout layoutSecond = (LinearLayout) findViewById(R.id.LayoutSecond);
        layoutSecond.addView(myThird);    
    }
}
复制代码

  布局代码

  main.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" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Main Page" />

    <LinearLayout
        android:id="@+id/LayoutMain"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </LinearLayout>

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Main Page" />

</LinearLayout>
复制代码

  first.xml

复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myFirst"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="First Page" />

    <LinearLayout
        android:id="@+id/LayoutFirst"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </LinearLayout>

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="First Page" />

</LinearLayout>
复制代码

  second.xml

复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mySecond"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Second Page" />

    <LinearLayout
        android:id="@+id/LayoutSecond"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </LinearLayout>

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Second Page" />

</LinearLayout>
复制代码

  third.xml    

复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myThird"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Third Page" />

    <LinearLayout
        android:id="@+id/LayoutThird"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </LinearLayout>

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Third Page" />

</LinearLayout>

文章转自:http://www.cnblogs.com/devinzhang/archive/2012/04/20/2459097.html

智慧旅游解决方案利用云计算、物联网和移动互联网技术,通过便携终端设备,实现对旅游资源、经济、活动和旅游者信息的智能感知和发布。这种技术的应用旨在提升游客在旅游各个环节的体验,使他们能够轻松获取信息、规划行程、预订票务和安排食宿。智慧旅游平台为旅游管理部门、企业和游客提供服务,包括政策发布、行政管理、景区安全、游客流量统计分析、投诉反馈等。此外,平台还提供广告促销、库存信息、景点介绍、电子门票、社交互动等功能。 智慧旅游的建设规划得到了国家政策的支持,如《国家长期科技发展规划纲要》和国务院的《关于加快发展旅游业的意见》,这些政策强调了旅游信息服务平台的建设和信息化服务的重要性。随着技术的成熟和政策环境的优化,智慧旅游的时机已经到来。 智慧旅游平台采用SaaS、PaaS和IaaS等云服务模式,提供简化的软件开发、测试和部署环境,实现资源的按需配置和快速部署。这些服务模式支持旅游企业、消费者和管理部门开发高性能、高可扩展的应用服务。平台还整合了旅游信息资源,提供了丰富的旅游产品创意平台和统一的旅游综合信息库。 智慧旅游融合应用面向游客和景区景点主管机构,提供无线城市门户、智能导游、智能门票及优惠券、景区综合安防、车辆及停车场管理等服务。这些应用通过物联网和云计算技术,实现了旅游服务的智能化、个性化和协同化,提高了旅游服务的自由度和信息共享的动态性。 智慧旅游的发展标志着旅游信息化建设的智能化和应用多样化趋势,多种技术和应用交叉渗透至旅游行业的各个方面,预示着全面的智慧旅游时代已经到来。智慧旅游不仅提升了游客的旅游体验,也为旅游管理和服务提供了高效的技术支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值