Android Studio基础工作流程-xml布局文件如何调用显示
说起安卓开发,很多小伙伴在刚开始入门的时候会有些云里雾里,觉得很混乱,这很正常,大多数是因为不太清楚安卓开发的基本流程,以及各个文件之间是怎样去相互作用的。我会在这篇文章里面向你介绍一下Android studio工作的基本流程,很基础很基础的那种。
1.两个重要的文件
一个完整的安卓开发工程,里面的文件有很多很多很多,但是为了说清楚基本的工作流程,我们先关注两个重要的文件。比如,当我们先创建一个empyt的工程,android会自动给我们生成已下的一些文件。
记住,左上角要选择android,才会出现以下的目录结构
而我们需要关注的,一个是layout文件下的.xml文件
打开之后,可以看到这样的画面
xml文件及其作用
调整成split视图,我们不难看出,我们可以在这个xml文件里面来实现界面的布局。仔细观察,我们可以看到:
<TextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="#225252"
android:textColor="#00ff00"
android:layout_gravity="center"
android:gravity="center"
/>
<Button
android:id="@+id/main_bt01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="next"
android:layout_gravity="center"
android:textSize="16dp"
android:background="#300000ff"
/>
类似于这种的代码,这个就代表了一个一个的组件。而这些组件具体的功能以及一些特性,我会在后面的博客中去介绍,这一次我们先关注如何跑起来一个安卓程序,并且从一个基础的角度去了解他的工作流程。
上面我们提到了组件,而组件是什么东西呢?我们打开一个应用程序:
比如这个计算器,我们可以看到计算器上面有很多按钮,还有输入框等等东西,这些东西我们叫他组件。比如按钮组件,输入框组件等等,我们稍作了解。
所以,这里的xml文件是用来实现界面的布局。你想让你的界面呈现成什么样的效果,可以在xml文件里面设置。如果你学过前端,可以发现xml文件类似于前端里面的html和css。
MainActivity文件
说完了xml布局文件,现在有一个很重要的问题。我们已经将我们的页面布局设置好了,并且也写成了xml文件,那么,我们的布局文件在哪里才能够调用显示出来呢?答案就在我们的MainActivity文件里面。文件目录如下:
打开之后我们可以看到:(不同版本的Android Studio可能会有一些小小小小小的差异)
下面我就对这段代码进行一个简单的介绍
package com.example.test01;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {//继承AppCompatActivity来调用安卓程序
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//这里输入刚刚xml文件的路径。直接写R.layout.xxx
}
}
可以看出来,我们是在
setContentView(R.layout.activity_main);//这里输入刚刚xml文件的路径。直接写R.layout.xxx
这行代码里面去调用我们刚刚创建的xml布局文件。代码其余的部分我们后面再详细介绍。通过这篇文章,我们可以了解到xml布局文件以及如何调用布局文件。那这里呢,我提供一个小小的代码,大家可以小试牛刀一下。
xml布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<TextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="#225252"
android:textColor="#00ff00"
android:layout_gravity="center"
android:gravity="center"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txt_1"
android:layout_gravity="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/main_bt01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="next"
android:layout_gravity="center"
android:textSize="16dp"
android:background="#300000ff"
/>
</LinearLayout>
MainActivity.java文件:
package com.example.test01;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
Button button01;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//表示这个activity要显示哪一个页面
button01 = (Button) findViewById(R.id.main_bt01);
TextView tv1 = findViewById(R.id.tv1);
button01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
tv1.setText("你好,鱼皮");
Toast.makeText(MainActivity.this, "鱼皮不吃巧克力", Toast.LENGTH_SHORT).show();
}
});
}
}
最后的效果嗯:
最后总结:最基本的工作流程其实很简单很简单。在xml布局文件里面写我们的布局,在java文件里面去调用。记住要填写正确的xml文件路径,以便于程序能够找到xml文件所在的位置。