本文讲解了使用最新版Android Studio创建简单的用户注册界面的教程。
一、开发步骤
打开Android Studio,点击Empty Views Activity,选择基础项目模板并进行创建,接着设置项目名称,编程语言等;然后点击finish完成项目创建。
也可以点击左上角的可视化页面开发,使用拖拽控件的形式进行开发。
这里我们将演示如何创建一个简单的注册页面,该注册界面如图下所示,这个注册界面包含一个简单的LinearLayout,这个LinearLayout包含手机号输入框,密码输入框,以及一个性别选择器,同时包含多个兴趣爱好的复选框。城市下拉框选择器以及一个注册按钮。
下面给出了这个页面的xml代码,这是一个简单的注册页面的xml代码。其中,Spinner的城市数据需要动态加载,因此需要在MainActivity.java里面编写对应的数据代码。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="手机号:" />
<EditText
android:id="@+id/editTextText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="text"
android:hint="请输入手机号" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="密 码:" />
<EditText
android:id="@+id/editTextText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="text"
android:hint="请输入密码" />
</LinearLayout>
<RadioGroup
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="40dp" >
<RadioButton
android:id="@+id/radioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="男" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
</RadioGroup>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CheckBox
android:id="@+id/checkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="读书" />
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="打球" />
<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="听音乐" />
</LinearLayout>
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_weight="0" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="注册" />
</LinearLayout>
MainActivity.java是安卓的主代码,就是Android App进入之后的运行的第一个代码,主界面activity_mian.xml就是在这里被渲染成安卓上面显示的页面的。
MainActivity.java里面,首先通过在xml文件里面Spinner对应的id获取到这个组件,通过使用Spinner spinner = (Spinner)findViewById(R.id.spinner)实现,如果需要为Spinner设置动态数据,需要使用Adapter来进行数据与视图的绑定,这里首先创建了一个包含多个城市的字符串数组,然后使用ArrayAdapter<String>将数组对象转为视图的ArrayAdapter,其中this是当前MainActivity的实例,创建完成adapter对象之后,我们spinner的setAdapter方法将我们的城市数据的Adapter与识图绑定,便完成了让Spinner显示城市数据的
package com.xiaoyun.myapplication;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.*;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
//设置Sinner加载动态数据
Spinner spinner = (Spinner)findViewById(R.id.spinner);
String[] citys=new String[]{"北京","上海","武汉","南京","南昌","信阳"};
ArrayAdapter<String> adapter=new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,citys);
spinner.setAdapter(adapter);
}
}
二、编译项目并且运行
完成项目的开发与设计之后,我们点击绿色三角按钮运行项目,项目会自动编译,并且打开Android Studio的虚拟器运行项目。
今天主要介绍了使用最新版Android Studio进行简单页面设计的过程,重点强调了Spinner的动态数据绑定的用法,同时对项目进行编译并且使用虚拟机进行运行和显示。