Android Studio 学习-第三章 Activity 第一组
事先申明:所有android 类型的学习记录全部基于《第一行代码 Android》第三版,在此感谢郭霖老师的书籍帮助。
1.手动创建Activity
在Project类型目录中寻找到 项目/app/src/main/java/com.example.activitytest 在 com.example.activitytest包右键新建Activity 中选择Empty Activity 不选择Generate a Layout File 和Launcher Activity,选择finish。
这两个不勾选的选项中Generate a Layout File代表意思为项目创建一个对应的布局文件,Launcher Activity意思为将此Activity作为主Activity。第二项在你想将这个Activity作为第一个显示在你android app的页面时勾选。
创建Activity后,Android Studio自动帮我们重写了onCreate()方法.实际代码如下
class FirstActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
}
2.创建布局和加载布局
首先,每一个Activity都应该对应一个布局。
对app/src/main/res/layout文件夹右键新建/Layout resource file建立布局,并且命名,根元素选择为LinearLayout。
创建完毕后选择右侧右上角的code进入xml文件编辑布局,
你会看到
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
我们先来实现一个按钮,主要分为两个步骤,第一个步骤式使用代码在布局中编辑一个button元素,之后第二个步骤是在Activity中将其显示出来。
首先,布局文件中在LinearLayout中添加一个button按钮,添加后编辑一个按钮,实际代码如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1"></Button>
</LinearLayout>
BUTTON元素中,android:id是定义一个唯一的标识符,其中使用的格式xml引入的格式,比如定义一个id,xml中式@+id/button1,引入一个id则是@id/button1。android:layout_width和android:layout_height分别式设置当前元素的宽和高,match_parent表示和父元素一样的长度,wrap_content则表示够用就行,而Android:text 则表示元素显示的文字内容。
其次,我们完成了button元素的设置,现在来将其显示出来。
在创建好的Activity中的oncreate中添加一行代码如下
setContentView(R.layout.first_layout)
在这行代码中,调用了setContentView()方法,功能是给当前的activity加载一个布局,在这个方法中我们要传入一个布局文件的id,此处的R.layout.first_layout中,R代表res,layout代表res中的layout文件夹,first_layout则代表了你要给的布局名即标识符。
完成这段代码编辑后点击右上角Design便可查看效果,效果应该如下