界面显示与逻辑处理

Android Studio利用XML标记描绘应用界面,使用java代码书写程序逻辑。

把App界面设计与代码逻辑分开的好处

使用XML文件描述App界面,可以很方便地在Adroid Studio上预览界面效果。

一个界面布局可以被多处代码复用,反过来,一个java代码也可能适配多个界面布局。

MainActivity.java

package com.example.myapplication;

import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = findViewById(R.id.tv);
tv.setText("你好,世界");
}
}

activity_main.xml

<?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:gravity="center"
android:orientation="vertical"> <TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="wrap_content">
</TextView> </LinearLayout>

运行结果为

创建新的App页面

完整的页面创建过程包括三个步骤:

1.在layout目录下创建xml文件

2.创建于xml文件对应的java代码

3.在AndroidManifest.xml中注册页面

创建新的App页面

首先在layout下创建一个新的xml文件,命名为Activity_main2,插入以下代码完成布局

<?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"
android:gravity="center"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text2">
</TextView> </LinearLayout>

在java下的com.example.myapplication文件夹下创建java文件,命名为MainActivity2,插入以下代码

package com.example.myapplication;

import android.os.Bundle;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity; public class MainActivity2 extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2); }
}

之后还要在配置文件下添加

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

在string.xml中添加

<string name="text2">Activity Main 2</string>

如果想要从Activity_mian界面跳转到Activity_mian2界面可以在MainActivity.java中添加以下代码

 Button button=findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
Intent intent =new Intent();
intent.setClass(MainActivity.this,MainActivity2.class);
startActivity(intent);
}
});

在activity_main.xml中添加以下代码

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="跳转">
</Button>

有一种简单的创建信的App的方法:New->Activity->Empty Activity。

最新文章

  1. 部署网站出现System.ServiceModel.Activation.HttpModule错误
  2. 【wikioi】1285 宠物收养所
  3. 分组排序SQL
  4. idea项目部署
  5. Kindle Paperwhite 2使用体验
  6. 通用安全字符串输入,彻底替换server.htmlencode
  7. 你需要了解的z-index世界
  8. Python学习笔记——进阶篇【第九周】———协程
  9. JavaScript 中的 this 问题总结 !
  10. Linux 高性能服务器编程——高性能服务器程序框架
  11. CSS3基础入门03
  12. GitHub看板系统(Project)
  13. node-cookie-parserDemo
  14. 【转】Linux 虚拟内存和物理内存的理解
  15. 物联网架构成长之路(17)-SpringCloud目前遇到的注意事项
  16. es中如何定位不合法搜索
  17. 纯Css实现Div高度根据自适应宽度(百分比)调整
  18. DevExpress v17.2—WPF篇(一)
  19. NAT 穿透
  20. 原子性、内存可见性和重排序——重新认识synchronized和volatile

热门文章

  1. Goreplay流量回放-使用真实流量测试
  2. Pyscript使用本地Pyodide配置方法
  3. element3 form表单校验对象里面有对象的情况
  4. CSP-S T3函数调用
  5. FastReport 单元行自动换行 Table Object AutoSize
  6. SpringCloud-Hoxton.SR1-config整合
  7. redis+token实现一个账号只能一个人登录
  8. 洛谷P4571 [JSOI2009] 瓶子和燃料
  9. [ARC140D] One to One
  10. 剪裁正方形图片cropper