Android实现界面跳转
程序员文章站
2022-03-13 21:03:19
...
1. 主界面
-
新建一个AndroidStudio项目
-
建好过后默认是一个 hello world 项目,我们不使用它提供的文件,对于我们需要使用的代码,我们自己建立文件。
-
在 app/src/main/java/com.example.csdn_view_demo/ 下新建空Activity:viewdemo
-
将我们新建的Activity设为默认启动的Activity
- 打开AndroidManifest.xml
- 找到如下代码:
<activity android:name=".viewdemo"></activity> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
- 改为:
<activity android:name=".viewdemo"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity"></activity>
第一行的
<activity android:name=".viewdemo"></activity>
是我们新建Activity:viewdemo 的时候自动生成的,
第二行<activity android:name=".MainActivity">
就是这个项目的默认启动Activity
我们将<intent-filter>
1代码段剪贴到<activity android:name=".viewdemo"></activity>
中viewdemo就成了默认启动的Activity- 打开我们新建的 viewdemo.java,其中
setContentView(R.layout.activity_viewdemo);
表示这个Activity启动后调用的布局文件就是activity_viewdemo.xml,我们在 activity_viewdemo.xml 添加一个Button:
<Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click Me!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" />
运行一下,出现下面效果表示项目运行时正常启动了我们设置的Activity和xml布局文件,可以进入下一步的代码编写工作了
2. 实现跳转
-
此时这个Button并不能工作,那是因为它并没有任何点击事件,我们在viewdemo.java中设置它的点击事件:
public class viewdemo extends AppCompatActivity implements View.OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_viewdemo); Button register = (Button)findViewById(R.id.button); //关联xml中的button register.setOnClickListener(this); //设置监听 } @Override //重载onClick public void onClick(View view){ //点击事件 if(view.getId()==R.id.button){ //判断执行onClick的组件id Intent intent = new Intent(this,MainActivity.class); //设置跳转到MainActivity的intent startActivity(intent); //执行跳转 } } }
我们设置监听事件的步骤是:
- 定义一个Button:register关联xml中的Button:
Button register = (Button)findViewById(R.id.button);
- 对register进行监听:
register.setOnClickListener(this);
方法setOnClickListener
在控件View
中,所以要implements View.OnClickListener
2 - 重载函数onClick
- 在onClick中监听button的点击事件:
if(view.getId()==R.id.button)
- 定义新的Activity并执行实现跳转:
Intent intent = new Intent(this,MainActivity.class); startActivity(intent);
我们再重新运行此程序,点击按钮,发现跳转到到了 hello world! 的界面,说明成功了
- 定义一个Button:register关联xml中的Button:
3. 其它方式
- 实现跳转的另一种方式,原理都是一样的,就是写法不同
public class viewdemo extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewdemo);
Button register = (Button)findViewById(R.id.button);
register.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
if (view.getId()==R.id.button){
Intent intent = new Intent(viewdemo.this,MainActivity.class);
startActivity(intent);
}
}
});
}
}
4. Github下载
-
关于
intent-filter
的介绍:intent-filter属性介绍 ↩︎ -
关于
implements
的介绍:Android:JAVA语言extends和implements用法的学习 ↩︎
上一篇: php如何实现转向