设计一个菜单目录
一、目的:
- 熟悉Android studio的使用.
- 了解一些相关语法及其作用.
- 成功地完成菜单项目.
二、技术及其代码使用
android:src="@mipmap/c"
android:layout_centerHorizontal="true"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_marginTop="5dp"
android:onClick="imgClicked" Alt+Eenter
android:id="@+id/iv_a"
- 获取xml里面所有的图片视图
先用一个数组保存所有的视图的id号 (R.id.iv_b)
用一个数组保存所以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};
private List<ImageView> imageViews = new ArrayList<>();
private boolean isOpen = false;
- 将ID号对应的视图读取出来,放到ImageView里面
for (int i=0;i<resID.length;i++){
int id=resID[i];
ImageView img = findViewById(id);
imageViews.add(img);
}
public void imgClicked(View view)
{
if (isOpen==true){
//应该关闭
close();
}else{
//应该打开
open();
}
isOpen=!isOpen;
}
private void close(){
for (int i=0;i<imageViews.size();i++){
ImageView iv =imageViews.get(i);
ObjectAnimator oa = ObjectAnimator.ofFloat(iv,"translationY",(i+1)*220f,0f);
oa.setDuration(1000);
oa.start();
}
}
private void open(){
for (int i=0;i<imageViews.size();i++){
ImageView iv =imageViews.get(i);
ObjectAnimator oa = ObjectAnimator.ofFloat(iv,"translationY",0f,(i+1)*220f);
oa.setDuration(1000);
oa.setInterpolator(new BounceInterpolator());
oa.start();}
三、实际使用