目的
- 初步体会Android开发,简单感受一下以后的Android开发未来会经历哪些东西
技术
1.创建工程
2.将图片资源拖到mipmap路径
3.添加ImageView结构显示图片
4.创建数组保存id号
5.定义一个变量,记录按钮的状态
每个技术如何使用
1.创建工程
1.Start a new Android Studio project
2.choose project>**Basic Activity**
3.configure project
2.将图片资源拖到mipmap路径
3.添加ImageView结构显示图片
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@mipmap/h"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
/>
4.创建数组保存id号
-
获取xml里面所有的图片视图
android:id="@+id/iv_a"
-
先用一个数组保存所有视图的id号
private int[]resID={R.id.iv_b,R.id.iv_c,R.id.iv_d,R.id.iv_e,R.id.iv_f,R.id.iv_g,R.id.iv_h};
-
用一个数组保存所有id对应的视图
private ListimageViews=new ArrayList<>();
- 根据id号读取所有的图片,将id号对应图片视图读取出来,放到ImageViews里面
for(int i=0;i<imgView;i++)
int id=resID[i];
ImageView img=findViewById(id);
imageViews.add(img);
5.定义一个变量,用来记录按钮的状态
private boolean isOpen =false;
public void imgClicked(View view) {
/**
* 判断是打开还是关闭
*/
if (isOpen ==true) {
//应该关闭 收回列表
close();
}else {
//应该打开 展开列表
open();
}
isOpen=!isOpen;
}
private void close() {
for (int i =0; i
//取出一个图片视图
ImageView iv =imageViews.get(i);
//给这个视图添加移动动画
ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "translationY", (i +1) *120f, 0f);
oa.setDuration(1000);
oa.start();
}
}
private void open(){
for(int i=0;i
//取出一个图片视图
ImageView iv=imageViews.get(i);
//给这个视图添加移动动画
ObjectAnimator oa=ObjectAnimator.ofFloat(iv,"translationY",0f,(i+1)*120f);
oa.setDuration(1000);
oa.setInterpolator(new BounceInterpolator());
oa.start();
}
}
}
实际使用
点击按钮,其他覆盖的图标向下依次弹出,且有弹动的效果,在点一次,图标收回