Andriod开发基础篇精髓—如何实现不同界面的跳转

  1. 上一篇博客是比较整体性的,很多细节并不是很清楚,这里讲一下我对跳转的看法吧,因为个人觉得,学会了怎么去跳转,一些很简单的画面就会了,毕竟我们这周要交GUI演示的视频,而不是照片
  2. 如果想看如何设计一个入门app

何为跳转

  1. 举个例子,比如我在这个界面有一个按钮button,我希望点击这个button之后,能够跳转到下一个界面
  2. 那么这个例子就拆分为了:
  1. 首先,在这个layout文件里面,需要有一个button
  2. 其次,我们需要再新建一个activity,包含我们的跳转的目标:layout文件,刚开始学的时候容易单独去建立文件,但其实在包下新建activity就会有java和layout文件,你可以理解为,layout文件时用来显示界面的,java文件是用来对这个layout文件做一些操作的
  3. 最后,我们需要在原始activity的java文件中,设置button的点击事件,实现点击之后跳转到目标文件
  1. 好的,我接下来放几张图片说明

实现跳转

  1. uiactivity中布局文件第一个按钮的代码下面展示一些 内联代码片
<Button
        android:id="@+id/btn_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="背单词"
        android:textColor="#000000"
        android:layout_marginTop="450dp"
        android:background="@drawable/bg_btn4"
        />
  1. uiactivity(就是原始界面的名字)的java文件
  2. 所以在layout文件中一定要记得给button设置id
  3. 你可以看见上面的图片又有一个setListener,这是自己写的方法,在这里说明
  4. 上面的目的是设置点击事件,当button多了,这样的话会比较简单
  5. 接下来就是我们实现跳转的最最最重要的部分了
  6. 下面展示一些 内联代码片
private class OnClick implements View.OnClickListener{

       @Override
       public void onClick(View v) {
           Intent intent = null;
           switch (v.getId()) {
               case R.id.btn_1:
               //点击button1,跳转到目标文件WordACtivity,第一个UiACTIVITY就是你原始跳转界面的名称
                   intent = new Intent(UiActivity.this, WordActivity.class);
                   break;
               case R.id.btn_2:
                   intent = new Intent(UiActivity.this, CompreActivity.class);
                   break;
               case R.id.btn_3:
                   intent = new Intent(UiActivity.this, ListenActivity.class);
                   break;
               case R.id.btn_4:
                   intent = new Intent(UiActivity.this, TestActivity.class);
                   break;
           }
           startActivity(intent);
       }
   }
  1. 这样的话我们就实现了跳转,如果需要源码,请移步我的另一个博客复制完整的代码 10.当然有时候我们只有一个button,没有必要写一个办法,直接
    下面展示一些 内联代码片
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mBtnUI = (Button) findViewById(R.id.btn_ui);
        mBtnEvent = (Button) findViewById(R.id.btn_event);
        OnClick onClick = new OnClick();
        mBtnUI.setOnClickListener(onClick);
        mBtnEvent.setOnClickListener(onClick);
    }

    class OnClick implements View.OnClickListener{
        @Override
        public void onClick(View v) {
            Intent intent = null;
            switch(v.getId()){
                case R.id.btn_ui:
                    intent = new Intent(MainActivity.this, UIActivity.class);
                    break;
                case R.id.btn_event:
                    intent = new Intent(MainActivity.this,EventActivity.class);
                    break;
            }
            startActivity(intent);
        }
  1. 虽然没差多少,就少了一个setListener的办法而已
  2. 这周本来说是不更新的,结果还是更新了,hhh,反正就一起加油吧!