2019-07-28

                                设计一个有弹窗动画效果的菜单

一、设计目的:

1,检验Android Studio的环境变量配置是否正确;

2,熟悉Android Studio的开发风格和使用方法;

3,对Android开发有一个大致的了解。

二、设计的基本思路以及具体的实现方法:

1,将准备好的图片素材拖拽进入项目的android\res\mipmap路径中;

2,在xml文件中设置各个图片的视图以及各视图的基本属性,如:设置图像长度和宽度(layout_width,layout_height)设置图像位置(layout_centerHoritazonal),等;将各图片的视图重合已达到“分层”的效果。方法如下:

2019-07-28_第1张图片
代码分别对应视图的ID号;长度宽度;指出存储路径;位置和距顶部距离
2019-07-28_第2张图片
代码同上
2019-07-28_第3张图片
代码同上
2019-07-28_第4张图片
代码同上
2019-07-28_第5张图片
代码同上
2019-07-28_第6张图片
代码同上
2019-07-28_第7张图片
代码同上
2019-07-28_第8张图片
与上面的代码不同的是描述a图的这段代码在最后一行设置一了个事件响应按钮。

其效果图为:

2019-07-28_第9张图片

其中b,c,d,e,f,g,h图被a图遮盖,所以最终效果如上图所示只显示出a图。

3,以a图作为按钮添加一个事件监听器使程序能响应点击事件。方法如下:在xml文件中添加监听器,代码如下:

2019-07-28_第10张图片
如图,红框内设置了事件响应按钮

然后在java文件中设置事件响应方法,代码如下:

2019-07-28_第11张图片
判断按钮在代码执行前的状态,且代码执行后按钮的状态改变,从true变成false或从false变成true

4,为a图所覆盖的每一个图片视图编一个ID号,这里只举b图一例,其他ID号以此类推:

2019-07-28_第12张图片
每一个视图对应不同的ID号,用ID号识别视图

5,建立一整形数组来存放各个图片视图的ID号并创建另一数组来存储图片视图的示例,代码如下:

创建resID数组来存储ID号,创建imageViews数组来存储视图示例

6,将ID号对应的视图读取出来并放到数组imageViews中,使视图ID号与视图的示例对应,代码如下:

2019-07-28_第13张图片
视图ID号与视图示例对应

7,设置事件响应方法中的open()和close()方法以达到动画效果,代码如下:


2019-07-28_第14张图片
关闭动画效果的close()函数
2019-07-28_第15张图片
打开动画效果的open()函数

你可能感兴趣的:(2019-07-28)