亲宝软件园·资讯

展开

Android Studio实现简单页面跳转的详细教程

C++_刘斯淇 人气:0

项目实现:(实现Android Studio 基本有两种实现方式:一种为.MainActivity跳转;第二种是Relatelayout布局跳转。

这里着重介绍第一种:(首先需要建立两个XML文件,进行布局的相互的跳转,然后使用两个JAVA进行相关的的设计!)

(左上角四个文件为此次建立的新文件夹)

首先设置Activity_main的文件设置:

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:app="http://schemas.android.com/apk/res-auto"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:background = "@mipmap/bc"  
    tools:context=".MainActivity">  
    <TextView  
        android:id="@+id/one"  
        android:layout_width="200dp"  
        android:layout_height="100dp"  
        android:layout_centerInParent="true"  
        />  
    <Button  
        android:id="@+id/button"  
        android:layout_width="299dp"  
        android:layout_height="63dp"  
        android:layout_below="@+id/one"  
        android:layout_centerHorizontal="true"  
        android:layout_marginTop="87dp"  
        android:text="你这背景太假了"  
        tools:ignore="MissingConstraints" />  
</RelativeLayout>  

另一个页面布局的设计: 

代码设计:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background = "@mipmap/ck"
    tools:context=".MainActivity">
 
    <TextView
        android:id="@+id/two"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这是第二个页面!"
        android:textSize="25dp"
        android:textColor="#663399"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
 
</LinearLayout>

然后是第一个JAVA代码的设计:

public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        //获取按钮
        Button button = (Button) findViewById(R.id.button);
 
        //按钮进行监听
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //监听按钮,如果点击,就跳转
                Intent intent = new Intent();
                //前一个(MainActivity.this)是目前页面,后面一个是要跳转的下一个页面
                intent.setClass(MainActivity.this,Sencond.class);
                startActivity(intent);
            }
        });
    }
}
 

另一个跳转文件所需要的页面JAVA代码:

public class Sencond extends AppCompatActivity { 
        @Override  
        protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            //这个是获取布局文件的,这里是你下一个页面的布局文件//注意这个是跳转界面的不能设置错,应该是第一个  
                setContentView(R.layout.sencond);  
        }  
    }  

最后一点着重说明一下项目实现的遇到的问题:

1.没有注册相关的文件名称: 

2.新建XML文件的时候的字符设计出现大写错误(设置XML文件的时候注意了,别设置超过的大写)

Error:Error: 'O' is not a valid file-based resource name character: File-based resource names must contain only lowercase a-z, 0-9, or underscore
Error:Execution failed for task ':bluetooth:mergeDebugResources'.
 F:\Android_Studio_Project\BLE_APP\bluetooth\src\main\res\layout\automaticOpenLayout.xml: Error: 'O' is not a valid file-based resource name character: File-based resource names must contain only lowercase a-z, 0-9, or underscore
F:\Android_Studio_Project\BLE_APP\bluetooth\src\main\res\layout\automaticOpenLayout.xml

3.遇到的第三个小问题(出现导入图片文件错位,主要设置背景图片需要将图片复制到相关的xhdpi文件当中) 

最终效果:

跳转后的界面:

总结

加载全部内容

相关教程
猜你喜欢
用户评论