看看button怎么用。
来吧,反正也不打ACM了,拿铁随便喝,也没什么吉利不吉利了。
我们就进行到第二章了?21号回家今天都29号了,这本书之前看过的内容还没有看完,的确是有点说不过去啊。希望肯德基能给我点学习的乐趣,最好能遇到一个漂亮的大妹子红红火火恍恍惚惚。
来吧,我们不用上一章那个HelloWorldActivity项目了,咱们换一个。
新建一个叫ActivityTest的项目来,包名就先用默认的,至于活动,我们就选任性的选这个add no activity因为这次我们准备搞事情啦。(手动创建自己的活动。对吧,一个项目你要从底层去学习才能水到渠成,最后为所欲为。)
我们创建的是一个Add No Activity项目,所以,我们,先天添加个活动吧。app\src\main\java\com\example\activitytest,看看这个路径,应该是空的吧。右键new一个empty activity
像这样。这些自动生成的东西待会我们自己动手写一遍就什么都知道了。虽然我们没有勾选自动生成的文件,但是你要知道,所有的活动都要重写onCreate方法。
既然我们没有让他自动生成布局文件,那我们手动添加一个布局文件吧。App/src/main/res目录new一个directory先创建一个名为layout的目录,然后再在layout目录下new一个layout resource file,又会弹出一个新建布局文件的窗口,
根元素就默认为这个LinearLayout,你看到的会是一个可视化的布局编辑器,我们先把它换成Text视图就可以看到代码了。(Text在左下角切换。)
<?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。
<?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:text="button1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
稍稍解释一下,“@+id/button”是不是感觉不太明白但是又有点熟悉,当我们在XML中引用一个字符串的时候是这样写“@string/sting_name”,这里是把string换成了id道理是一样的,但是我们要定义一个id的时候就要写成”@+id/id_name”的形式,是不是简单易懂(其实我感觉这些标签化的语言的优势就是看着真舒服,一个是一个。)
Match_parent就是跟父亲元素的一样。
Wrap_content就是说正好能包含里面的内容。
(在肯德基,网络只给一个小时用。我先拿word写,首字母总是给我大写,大家不要在意。)
Button就算是可以添加完了,我们通过右侧的preview来预览一下当前的布局。可以看到添加的button已经显示出来了。
我们还需要在活动里加载这个布局。回到FirstActivity,在onCreate方法里添加代码:
setContentView(R.layout.first_layout);
我想,聪明的你一定能理解这行代码是什么意思。
我们之前是不是提过,所有的活动都要在AndroidManifest.xml里注册才能使用,虽然我们没有自己写,但实际上FirstActivity已经在AndroidManifest.xml里注册过了。可以打开文件检查一下(Android studio还是挺人性化的嘛。)
不过虽然注册了,但是就是像C里面的main方法一样,这个项目缺少一个主活动,也就是这个项目的入口,怎么配置主活动我们在之前就提到过了,就是在标签的内部加入标签,并在这个标签里添加两个语句声明一下就好了。像这样:
<activity android:name=".FirstActivity"
android:label="This is the main Activity!">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
其实,一个应用没有主活动也没关系,不过你无法在启动器中看到或者打开这个程序。这种程序一般都是作为第三方服务供其他服务内部进行调用的,比如支付宝的快捷服务。
(这个比方。。。。反正是作者写的,其实你翻一翻手机里的应用,你就会发现手机里还是有一些在你的应用列表里没有显示的一些应用程序的。)
现在你就可以在你的手机虚拟机里运行一下这个项目了。