- AS只允许打开一个项目,所以要先关闭
2.2.2 创建和加载布局
新建java和布局
写一个按钮
<!--宽度和父元素一样-->
<!--高度刚好包含元素就可-->
<Button
android:id="@+id/button_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1"
/>
在活动中加载布局
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 在活动中加载布局
setContentView(R.layout.first_layout);
}
项目中添加的任何资源都会在R文件中生成一个相应的资源id ,因此我们刚才创建的first_layout.xml 布局的id 现在应该是已经添加到R文件中了。在代码中去引用布局文件的方法你也已经学过了,只需要调用R.layout.first_layout 就可以得到first_layout.xml 布局的id ,然后将这个值传入setContentView() 方法即可。
2.2.3 在AndroidManifest文件中注册
所有的活动都要在AndroidManifest.xml中进行注册才能生效,而实际上FirstActivity已经在AndroidManifest.xml中注册过了,我们打开app/src/main/AndroidManifest.xml文件
添加主活动
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<!--android:label 指定标题栏的内容-->
<activity android:name=".FirstActivity"
android:label="This is FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
如果你的应用程序中没有声明任何一个活动作为主活动,这个程序仍然是可以正常安装的,只是你无法在启动器中看到或者打开这个程序。这种程序一般都是作为第三方服务供其他应用在内部进行调用的,如支付宝快捷支付服务。
2.2.4 在活动中使用Toast
Toast就是提示一下就没有的东西,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。
在点击按钮后弹出Toast
如果爆红是因为cannot resolve symbol
按下Alt+Enter快捷键,重新import包
// 可以通过findViewById() 方法获取到在布局文件中定义的元素,
// 这里我们传入R.id.button_1 ,来得到按钮的实例,
// 这个值是刚才在first_layout.xml中通过android:id 属性指定的。
Button button1 = (Button) findViewById(R.id.button_1);
// 我们通过调用setOnClickListener() 方法为按钮 注册一个监听器,
// 点击按钮时就会执行监听器中的onClick() 方法。
// 因此,弹出Toast的功能当 然是要在onClick() 方法中编写了。
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
// 通过静态方法makeText()创建出一个Toast对象,然后调用show()将Toast显示出来就可以了。
// makeText() 方法需要传入3个参数。
// 第一个参数是Context ,也就是Toast要求的上下文,
// 由于活动本身就是一个Context 对象,因此这里直接传入FirstActivity.this 即可。
// 第二个参数是Toast显示的文本内容,
// 第三个参数是Toast显示的时长。
Toast.makeText(FirstActivity.this,"You clicked Button 1",
Toast.LENGTH_SHORT).show();
}
});