同一个activity中通过一个按钮切换两个不同的布局

来源:互联网 发布:淘宝优惠券指定买家 编辑:程序博客网 时间:2024/04/30 00:08

最近项目中需实现在同一个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() {@Overridepublic 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() {@Overridepublic 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


0 0
原创粉丝点击