《你的第一行Android代码》菜鸡的自学日记-第二天(欢迎大佬指点!)
一.新的Activity(活动)
1.Android Studio一个工作区间只能打开一个项目,因此又要重新创建一个Android项目,与HelloWorld的区别在于,这次选择Add No Activity,因为这次要熟悉手动创建活动。
#不要忘记将项目结构模式切换成Project
2.找到app/src/main/java/com.example.activitytest,右键点击创建一个Empty Activity(new/Activity/Empty Activity),将新建的Empty Activity命名为FisrtActivity。
#郭神的书上说不勾选Generate Layout File(自动为FisrtActivity创建一个对应的布局文件)和Launcher Activity(自动将FisrtActivity设置为当前项目的主活动),因为是菜鸟手动创建活动,这些自动生成的东西都不要勾选。(菜鸡本鸡勾选了一下,发现也就那样。。。)
如下图所示:
然后,因为没有勾选Generate Layout File这个能自动创建布局的选项,所有要找到app/src/main/res,右键点击Directory新建一个名为layout的目录,然后右键点击layout/new/Layout resource file,在弹出的窗口中,给布局文件命名为first_layout,根元素默认为LinearLayout。
弹出的新建资源布局文件窗口如图:
完成后,就能看见布局编辑器了(打字好慢,实际操作起来就几分钟的事。。。)
如图:
第一步手动创建基础布局就OK了。
二.添加一个小控件Button看一看
在编辑器下面可以看见Design和Text两个切换卡。
Design:可视化编辑,可以直接拖拽控件编辑布局,还能够预览布局(有点像JDBC)
Text:通过XML编辑布局
打开Text,可以看见如下代码:
<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的相关代码,一个“<”,编辑器就会自动弹出许多控件选项,第一个就是我们需要的Button控件,点击后增加控件Button的id和text文本显示内容
<Button
android:id="@+id/button_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1"
/>
#match_parent表示让当前元素和父元素一样宽
#wrap_content表示当前元素的高度只要刚好包含里面的内容就行
效果预览
按钮显示出来后,一个简单的布局就完成了,接下来需要在活动中加载布局。回到FirstActivity,在onCreate()方法中加入如下代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
}
#setContentView()方法中传入布局文件的ID
#项目中添加的所有资源会在R文件中生成一个相应的资源ID
三.将我们的FirstActivity设置为我们的主活动
主活动:打开程序时首先运行的活动
找到app/src/main/AndroidMainfest.xml,将代码修改为:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.a28222.activitytest">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".FirstActivity"
android:label="This is FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<action android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
#空行间隔出来的代码就是我们加入的代码
#给主活动指定的label不仅会成为标题栏中的内容,还会成为启动器(Launcher)中应用程序显示的名称。
#无主活动程序依旧可以安装,但此类程序一般作为第三方服务供其他应用使用,比如某宝快捷支付。
小结:学会了手动创建基础布局,添加了一个小控件button,主活动的设置,事实上学的东西很少,但是日记写了半天。。。