文章目录
第二章 探究活动
tip来源主要参考《第一行代码》
1.手动创建活动
首先:
- File ->New Project
- Add an Activity to Mobile 页面 -> Add No Activity ->Finish
然后:
创建好的Activity代码
public class FirstActivity extends AppCompatActivity {
@override
protected void onCreate(Bundle savedInstanceState)
{
//项目中的任何活动都应该重写Activity的OnCreate()方法
super.onCreate(savedInstancesState); //自动生成,调用父类
}
}
2.创建和加载布局
(1)创建布局文件
根元素选择了LinerLayout
布局编辑器
(2)点开Text,查看布局文件xml中添加按钮
<?xml version="1.0" encoding="utf-8"?>
<!--LinearLayout作为根元素-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--我们自己给他加一个按钮,并且加了id、width、height、text属性-->
<Button
android:id="@+id/button_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1"
/>
</LinearLayout>
添加按钮后
(3)布局文件画好按钮后,回到FirstActivity的java文件中把布局加上
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
//调用setContentView()方法来给当前的活动加载一个布局
//项目中添加的任何资源都会在R文件中生成一个相应的资源id
//文件路径: layout/first_layout
}
}
(4)在AndroidManifest文件中注册FirstActivity活动
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.admin.activitytest">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".FirstActivity"></activity>
<!--注册了一个活动,自动注册,不过Android Studio是自动注册,eclipse中不自动-->
<!--.FirstActivity的全称是com.example.admin.activitytest.FirstActivity-->
<!-- 前面的包名已经写好了com.example.admin.activitytest-->
</application>
</manifest>
(5)为程序配置主活动
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.admin.activitytest">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".FirstActivity" android:label="This is FirstActivity">
<!--label指定活动中标题栏的内容,以及启动器中应用程序显示的名称-->
<!--配置主活动,就是加<action>和<category>两句-->
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<!--配置主活动-->
</activity>
</application>
</manifest>
(6)运行程序,程序的名字也是This is FirstActivity
在活动中使用Toast【java文件中写入】
就是通知,过一会就消失的那种信息
Context上下文对象
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
//findViewById()方法获取到在布局方法中定义的元素,返回一个View对象,向下转型为(Button)
Button button1 = (Button)findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener(){
//按钮注册一个监听器,点击按钮执行onClick()方法
@Override
public void onClick(View v){
//Toast方法写在OnClick方法里面。show方法显示出来
//Toast传入3个参数,第一个参数Context,上下文
Toast.makeText(FirstActivity.this,"You clicked Button 1",
Toast.LENGTH_SHORT).show();
}
});
}
}