Andriod开发基础篇精髓—如何实现不同界面的跳转
- 上一篇博客是比较整体性的,很多细节并不是很清楚,这里讲一下我对跳转的看法吧,因为个人觉得,学会了怎么去跳转,一些很简单的画面就会了,毕竟我们这周要交GUI演示的视频,而不是照片
- 如果想看如何设计一个入门app
何为跳转
- 举个例子,比如我在这个界面有一个按钮button,我希望点击这个button之后,能够跳转到下一个界面
- 那么这个例子就拆分为了:
- 首先,在这个layout文件里面,需要有一个button
- 其次,我们需要再新建一个activity,包含我们的跳转的目标:layout文件,刚开始学的时候容易单独去建立文件,但其实在包下新建activity就会有java和layout文件,你可以理解为,layout文件时用来显示界面的,java文件是用来对这个layout文件做一些操作的
- 最后,我们需要在原始activity的java文件中,设置button的点击事件,实现点击之后跳转到目标文件
- 好的,我接下来放几张图片说明
实现跳转
- 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"
/>
- uiactivity(就是原始界面的名字)的java文件
- 所以在layout文件中一定要记得给button设置id
- 你可以看见上面的图片又有一个setListener,这是自己写的方法,在这里说明
- 上面的目的是设置点击事件,当button多了,这样的话会比较简单
- 接下来就是我们实现跳转的最最最重要的部分了
- 下面展示一些
内联代码片
。
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);
}
}
- 这样的话我们就实现了跳转,如果需要源码,请移步我的另一个博客复制完整的代码 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);
}
- 虽然没差多少,就少了一个setListener的办法而已
- 这周本来说是不更新的,结果还是更新了,hhh,反正就一起加油吧!