同一个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
- 同一个activity中通过一个按钮切换两个不同的布局
- 同一个activity中不同fragment的跳转
- Android setContentView 实现同一个activity下不同view的切换
- ndroid setContentView 实现同一个activity下不同view的切换
- Android setContentView 实现同一个activity下不同view的切换
- Android setContentView 实现同一个activity下不同view的切换
- 每点击同一个标签,切换两个不同的样式
- 一个form中使两个按钮不同的action
- 通过手指滑动切换不同的Activity
- HTML同一个table中不同的按钮提交不同表单
- 不同的布局文件怎么加载到一个activity中
- 一个View中通过判断显示不同的layout布局
- 切换同一个按钮的状态
- 重写Activity实现多个Activity引用同一个Activity的按钮布局和响应
- 同一个程序不同activity放入不同的栈中,不同程序的activity放入同一个栈中
- Jquery 通过切换按钮中图标的类来控制出现不同的按钮图标
- 安卓在同一个Activity中实现fragment的切换
- 同一个Activity中不同Fragment的数据传递
- Android中几种网络请求方式详解
- uC/OS-II 函数之时间相关函数
- 程序随笔:用两个栈来实现一个队列
- Merge k Sorted Lists
- HDU 1829
- 同一个activity中通过一个按钮切换两个不同的布局
- [USACO2015February,Bronze] Problem1.Censoring(Bronze)
- R语言的各种报错及其解决方法
- 动力起航DTcms学习日记01(2015年8月6日)
- 男人不装
- HDU 5353 Average (2015年多校比赛第6场)
- Ubuntu14.04安装Sublime text3及Package Control插件
- UE4学习笔记18th
- 互联网之子 – Aaron Swartz