Android studio实现两个界面间的切换

Android studio设计两个界面间的切换,供大家参考,具体内容如下

实现两个界面间的切换有两种方式,第一种是xml间的相互切换,另外一种是两个Activity间的切换。

范例:用两种不同方法实现如图功能,点击button从第一页切换至第二页。

方案一 xml间的切换采用实现匿名内部类方式实现,这种方法适合只希望对监听器一次性使用,在该代码块运行完成之后,该监听器就不复存在。

step1:新建一个工程File-New-New Project

step2:接下来一路next,最后finish。

step3:工程新建完成后,在左侧栏里依次展开app-java-第一个-MainActivity。在此编写Java程序

package com.example.interaction;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);//首先调用xml中activity_main
        Button ok=(Button)this.findViewById(R.id.btn);
        //实现匿名内部类
        ok.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                setContentView(R.layout.twolayout);
            }
        });
    }}

step4:在左侧栏依次展开app-res-layout-activity_main.xml,在此编写第一个xml程序。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.interaction.MainActivity">
    <!--添加一个文本,显示“第一页”,第一二行必有,三四行上下边距,第五行显示文字,第六行水平居中-->
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:layout_marginBottom="60dp"
        android:text="第一页"
        android:layout_gravity="center_horizontal"/>
    <!--添加一个按钮,显示“第一页”,第一二行必有,第三行居中对齐,第四行设置Button的id,第五行显示文字-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:id="@+id/btn"
        android:text="切换页面"/>
</LinearLayout>

step5:在已有工程中添加一个twolayout,依次点击File-New-XML-Layout XML File,命名为twoLayout

step6:编写程序

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:layout_marginBottom="60dp"
        android:text="第二页"
        android:layout_gravity="center_horizontal"/>
</LinearLayout>

方案二 两个activity间的切换,该方法通过在Activity中定义一个内部类就继承监听器接口

step1:新建一个工程File-New-New Project,与方案一中操作相同。

step2:接下来一路next,最后finish,与方案一中操作相同。

step3:新建一个.java文件,File-New-Java Class

命名为TwoActivity,点击OK。

step4:在MainActivity中编写程序

package com.example.interaction;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);//调用xml中activity_main。
        Button ok = (Button) this.findViewById(R.id.btn);
        ok.setOnClickListener(new ButtonListener());
    }
    private class ButtonListener implements View.OnClickListener{
        @Override
        public void onClick(View v){
            Intent intent=new Intent(MainActivity.this,TwoActivity.class);//设置切换对应activity
            startActivity(intent);//开始切换
            }
    }
}

step5:在TwoActivity中编写程序

package com.example.interaction;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class TwoActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.twolayout);//调用twolayout
}}

step6:在左侧栏中依次点击app-manifests,添加一行代码,添加位置如图所示,必须在内,在外。

<activity android:name=".TwoActivity"></activity>

界面切换的两种方式已经完成。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android界面切换出现短暂黑屏的解决方法

    这种问题一般是因为一个Activity启动之后在显示视图之间时间太长导致的. 1.优化方式可以通过精简layout文件.多线程处理数据载入等. 2.但是有些Activity的layout文件可能比较大,如果不能动态载入,在显示之前解析xml的时间可能耗时比较长比如500-1000ms. 这个时候Activity会先显示默认的黑色背景图,所以会出现黑屏的情况.对于这种情况我们可以在Application的Theme中添加 复制代码 代码如下: <item name="android:wind

  • Android使用ViewPager实现顶部tabbar切换界面

    类似的功能可以看看: 使用RadioGroup实现底部导航栏 进入正题 效果图: 注:PagerSlidingTabStrip为自定义控件,用于切换界面,此处不便贴出代码 1.主界面xml布局中添加ViewPager控件: <android.support.v4.view.ViewPager android:id="@+id/pager_view" android:layout_width="match_parent" android:layout_heigh

  • Android实现界面左右滑动切换功能

    相信大家一定都使用过手机QQ和微信之类的软件,当我们使用时不难发现其界面的切换不仅可以通过点击页标签来实现,还可以通过左右滑动来实现的,耗子君刚开始学Android时就觉得这样的滑动十分酷炫,十分想要自己来实现它.相信大家也和耗子君一样,想要迫不期待的学习怎样实现了吧,OK,下面我来详细的讲一下如何实现这个功能. 先来欣赏一下效果图吧: 首先,我们先来认识一下控件 ViewPager ViewPager是Android SDk中自带的一个附加包android-support-v4.jar中的一个

  • Android实现Activity界面切换添加动画特效的方法

    本文以实例形式展示了Android实现Activity界面切换添加动画特效的方法,对于Android程序设计人员来说有很好的参考借鉴价值.具体方法如下: 了解Android程序设计的人应该知道,在Android 2.0之后有了overridePendingTransition(),其中里面两个参数,一个是前一个activity的退出,另一个activity的进入. 现看看下面这段示例代码: @Override public void onCreate(Bundle savedInstanceSt

  • Android App仿微信界面切换时Tab图标变色效果的制作方法

    概述 1.概述 学习Android少不了模仿各种app的界面,自从微信6.0问世以后,就觉得微信切换时那个变色的Tab图标屌屌的,今天我就带大家自定义控件,带你变色变得飞起~~ 好了,下面先看下效果图: 清晰度不太好,大家凑合看~~有木有觉得这个颜色弱爆了了的,,,下面我动动手指给你换个颜色: 有没有这个颜色比较妖一点~~~好了~下面开始介绍原理. 2.原理介绍 通过上面的效果图,大家可能也猜到了,我们的图标并非是两张图片,而是一张图,并且目标颜色是可定制的,谁让现在动不动就谈个性化呢. 那么我

  • Android输入法与表情面板切换时的界面抖动问题解决方法

    昨天琢磨了下Android的输入法弹出模式,突然发现利用动态切换输入法的弹出模式可以解决输入法抖动的问题.具体是怎样的抖动呢?我们先看微博的反面教材. [具体表现为:表情面板与输入法面板高度不一致,从而导致弹出输入法(layout被挤压)时,同时又需要隐藏表情面板(layout被拉升),最终让界面产生了高度差抖动,所以在切换时明显会有不大好的抖动体验)] 使用了解决抖动的解决方案后,效果如下: [这样的方案明显比微博的切换更平滑] 老样子,先说思路.主要我们要用到两个输入法弹出模式,分别是:ad

  • Android实现闪屏及注册和登录界面之间的切换效果

    在没给大家介绍正文之前先给大家说下实现思路: 先分别实现闪屏.注册界面.登录界面的活动,再用Intent将相关的活动连接起来,实现不同活动之间的跳转.此次试验代码较多,我只列出主要代码,详细的代码可用底部的下载链接下载. 一.实验效果图: 二.主要代码: (1)WelcomeActivity.Java(这部分代码实现的是第一页的欢迎页面) package com.example.flashscreendemo; import android.app.Activity; import androi

  • PagerSlidingTabStrip制作Android带标签的多界面滑动切换

    这里我们用到了两个库,一个是Android SDK里自带的android-support-v4,另一个是PagerSlidingTabStrip,开源项目地址是https://github.com/astuetz/PagerSlidingTabStrip 用v4是需要用到他的ViewPager以及Fragment,而PagerSlidingTabStrip就是应用上边的标签. 成果预览: 下面,开工~ 布局 创建Activity什么的就不说了,喜欢ActionBar就创建一个ActionBarA

  • android编程实现局部界面动态切换的方法

    本文实例讲述了android编程实现局部界面动态切换的方法.分享给大家供大家参考,具体如下: 局部界面固定,局部界面可以动态切换.效果如下: 这个效果由3个layout构成 main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:

  • Android应用中使用ViewPager实现类似QQ的界面切换效果

    这几天在研究ViewPager,简单的写一下如何使用ViewPager实现类似于QQ的"最近联系人.好友.群组"的界面切换(不知道他们是不是用这个方法实现的). ViewPager已经在android-sdk中加入了,具体的位置在%android_sdk_home%\android-compatibility\v4,%android_sdk_home%是你的android-sdk-windows目录. 好,下面放一张效果图: 步骤一:新建一个工程,我的是Viewpager 步骤二:导入

随机推荐