zoukankan      html  css  js  c++  java
  • 同一个activity中通过一个按钮切换两个不同的布局 分类: Android 2015-08-06 22:42 120人阅读 评论(0) 收藏

    最近项目中需实现在同一个activity中通过一个按钮切换两个不同的布局,此处的按钮并非同一个按钮控件,

    而是在两个不同的布局文件中点击按钮实现布局的切换,具体实现如下:

    MenuTestActivity.java

    package com.example.menutest;
    
    import com.example.menutext.R;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.LinearLayout;
    
    public class MenuTestActivity extends Activity {
    	public static int flag = 0;
    	private LinearLayout.LayoutParams lp;
    
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.double_frame);
    		// Button but = getBtnBack();
    		lp = new LinearLayout.LayoutParams(150,
    				LinearLayout.LayoutParams.FILL_PARENT);
    		lp.setMargins(-150, 0, 0, 0);
    		((LinearLayout) findViewById(R.id.leftImage)).setLayoutParams(lp);
    
    		initButton();
    	}
    
    	public void initButton() {
    
    		Button button01 = (Button) findViewById(R.id.btnBack01);
    		Button btnBack = (Button) findViewById(R.id.btnBack);
    
    		button01.setText("Open");
    		button01.setOnClickListener(new View.OnClickListener() {
    
    			@Override
    			public void onClick(View v) {
    				if (flag == 0) {
    					// 第一次单击触发的事件
    					LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
    							LinearLayout.LayoutParams.FILL_PARENT,
    							LinearLayout.LayoutParams.FILL_PARENT);
    					lp.setMargins(0, 0, 0, 0);
    					((LinearLayout) findViewById(R.id.leftImage))
    							.setLayoutParams(lp);
    					System.out.println("1,第一次单击触发的事件");
    					flag = 1;
    				}
    			}
    		});
    		btnBack.setText("Close");
    		btnBack.setOnClickListener(new View.OnClickListener() {
    
    			@Override
    			public void onClick(View v) {
    				if (flag == 1) {
    					// 第二次单击button.text改变触发的事件
    					((LinearLayout) findViewById(R.id.leftImage))
    							.setLayoutParams(lp);
    					System.out.println("2,第二次单击button.text改变触发的事件");
    					flag = 0;
    				}
    			}
    		});
    	}
    
    }
    double_frame.layout

    <?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="horizontal" >
    
        <LinearLayout
            android:id="@+id/leftImage"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginLeft="-220dp"
            android:background="@drawable/btn_dial_normal" >
    
            <include
                android:id="@+id/include01"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                layout="@layout/base_layout_l" >
            </include>
        </LinearLayout>
    
        <LinearLayout
            android:id="@+id/rightImage"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/btn_dial" >
    
            <include
                android:id="@+id/include02"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                layout="@layout/base_layout_r" >
            </include>
        </LinearLayout>
    
    </LinearLayout>
    base_layout_l.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" >
    
        <LinearLayout
            android:id="@+id/linearTop"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center" >
    
            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/icon" >
            </ImageView>
    
            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:height="40dip"
                android:text="Dynamic 2" >
            </TextView>
        </LinearLayout>
    
        <LinearLayout
            android:id="@+id/linearMain"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1.0" >
        </LinearLayout>
    
        <RelativeLayout
            android:id="@+id/relativeBottomTotal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
    
            <Button
                android:id="@+id/btnBack"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text=" 返  回 " >
            </Button>
    
            <LinearLayout
                android:id="@+id/layoutBottom"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/btnBack"
                android:layout_alignTop="@+id/btnBack"
                android:layout_toRightOf="@+id/btnBack"
                android:gravity="right" >
            </LinearLayout>
        </RelativeLayout>
    
    </LinearLayout>
    base_layout_r.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" >
    
        <LinearLayout
            android:id="@+id/linearTop"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center" >
    
            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/icon" >
            </ImageView>
    
            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:height="40dip"
                android:text="Dynamic 1" >
            </TextView>
        </LinearLayout>
    
        <LinearLayout
            android:id="@+id/linearMain"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1.0" >
        </LinearLayout>
    
        <RelativeLayout
            android:id="@+id/relativeBottomTotal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
    
            <Button
                android:id="@+id/btnBack01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text=" 1 " >
            </Button>
    
            <LinearLayout
                android:id="@+id/layoutBottom"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/btnBack"
                android:layout_alignTop="@+id/btnBack"
                android:layout_toRightOf="@+id/btnBack"
                android:gravity="right" >
            </LinearLayout>
        </RelativeLayout>
    
    </LinearLayout>




    源码下载地址:http://download.csdn.net/detail/u010963246/8970561


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    CPLD
    红牛的广告:你的能量超乎你的想象
    Verilog设计中的锁存器
    Verilog语言
    看技术看不懂,看不进去的解决方案
    jQuery Ajax 操作函数
    Html的Padding,Margin自己理解图
    【深度好文】多线程之WaitHandle-->派生-》Mutex信号量构造
    【深度好文】多线程之WaitHandle-->派生-》Semaphore信号量构造
    开源框架 KJFrameForAndroid
  • 原文地址:https://www.cnblogs.com/xieping/p/4714144.html
Copyright © 2011-2022 走看看