探究Activity(1) |
您所在的位置:网站首页 › sky应用程序是什么 › 探究Activity(1) |
一、Activity是什么
Activity(活动)是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序中应该包括零个或多个Activity。 二、Activity的基本用法 1、手动创建活动 (1)、重新创建一个项目,模板改成Add NoActivity
可以看到,onCreate()方法非常简单,就是调用了父类的onCreate()方法。当然这只是默认的实现,后面我们还可以加上很多自己的逻辑。
Android程序的设计讲究逻辑和视图分离,最好每一个活动都能对应一个布局,布局就是用来显示界面内容的,因此我们现在手动创建一个布局文件 (1)、右击app/src/main/res目录–》New–》Directory,会弹出一个新建目录的窗口,这里先创建一个名weilayout的目录,然后对着layout目录右键–》Layout resource file,又会弹出一个新建布局资源文件的窗口。
回到FirstActivity界面,在onCreate()方法中加入如下代码: setContentView(R.layout.first_layout);
所有的活动都需要在AndroidManifest注册才能生效,而实际上FirstActivity已经在AndroidManifest.xml中注册过了,我们打开app/src/main/AndroidManifest.xml文件可以看到如下代码:
修改后的AndroidManifest.xml文件,代码如下所示: 这样的话,FirstActivity就成为我们这个程序的主活动了,即点击桌面应用程序图标时应首先打开的就是这个活动。另外需要注意,如果你的应用程序中咩有声明任何一个活动作为主活动,这个程序仍然是可以正常安装的,只是你无法再启动中看到或者打开这个程序。这种程序一般都是作为第三方服务供其他应用在内部进行调用的,如支付宝快捷支付服务。 4、在活动中使用ToastToast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。 如何使用Toast首先需要定义一个弹出Toast的触发点,正好之前程序界面上有一个button,我们可以让点击这个按钮的时候弹出一个Toast。在OnCreate()方法中添加如下代码: public class FirstActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.first_layout); Button button1 = (Button) findViewById(R.id.button2); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(FirstActivity.this, "You clicked Button", Toast.LENGTH_SHORT).show(); } }); }}在活动中,可以通过findViewById()方法获取到在布局文件中定义的元素,这里我们传入R.id.button2,来得到按钮的实例,这个值是刚才在first_layout.xml中通过android:id 属性指定的。findViewById()方法返回的是一个View对象,我们需要向下转型将它转成Button对象。得到那妞的实例之后,我们通过调用setOnClick()方法。因此,弹出Toast的功能当然是要在按键的单击事件中去编写。 Toast的用法非常简单,通过静态方法makeText()创建出一个Toast对象,然后调用show()将Toast显示出来就可以了。 这里需要注意的是,makeText()方法需要传入3个参数。 第一个参数是Context,也就是Toast要求的上下文,由于活动本身就是一个Context对象这里直接传入FirstActivity.this即可。 第二个参数是Toast显示的文本内容。 第三个参数是Toast显示的时长,有两个内置常量可以选择Toast.LENGTH_SHORT和Toast.LENGTH_LONG。 5、在活动中使用Menu (1)、首先在res目录下新建一个menu文件夹,右击res目录–》New–》Directory,输入文件夹名menu,点击OK。然后在这个文件夹下再新建一个名叫main的菜单文件,右击menu文件夹–》New–》Menu resource file
这里我们创建2个菜单项,其中标签就是用来创建具体的某一个菜单项,然后通过android:id给这个菜单项指定一个唯一的标识符,通过android:title给这个菜单项指定一个名称。 (3)、重新回到FirstActivity中来重写onCOptionMenu()方法,重写方法可以使用ctrl+O快捷键
通过getMenuInflater()方法能够得带MenuInflater对象,再调用它的的inflate()方法就可以给当前活动创建菜单了。Inflate()方法接收2个参数,第一个参数用于指定我们通过哪一个资源文件来创建菜单,这里当然传入R.menu.main。第二个参数用于指定我们的菜单项将添加到哪一个指定的Menu对象当中,这里直接使用onCreateOptionMenu()方法中传入的menu参数。然后给这个方法返回ture,表示允许创建的菜单显示出来。如果返回了false,创建的菜单将无法显示。 (4)、当然,仅仅让菜单显示出来是不够的,我们定义菜单不仅是为了看的,关键是要菜单真正可用才行,因此还要再定义菜单响应事件。在FirstActivity中重写onOptionItemSelectd()方法:
运行程序会看到标题栏多了一个三点的符号的,这就是菜单按钮了 6、销毁一个Activity 方法1:按一下Back键就可以销毁当前的活动了。 方法2:在Activity类中提供了一个finish()方法,我们在活动中调用一下这个方法就可以销毁当前的活动了 @Overridepublic void onClick(View v) { finish(); //j结束当前活动 // Toast.makeText(FirstActivity.this, "You clicked Button", Toast.LENGTH_SHORT).show();}null附件列表
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |