美文网首页
【C语言学习】Andriod界面下滑菜单动画

【C语言学习】Andriod界面下滑菜单动画

作者: 榆野铃爱 | 来源:发表于2019-07-29 00:22 被阅读0次

1. 目的

熟悉Android studio的基本应用,编写第一个应用界面并且能在手机或模拟器中成功运行,思考该应用的其他变形。

2. 技术

  • 素材导入
  • 定义图标初始位置
  • 点击动画

3. 技术的使用

  • 将图片资源导入mipmap路径
  • 最上层的图片代码在最后写,将TextVeiw所有内容删除,将 androidx.constraintlaout.widget.ConstraintLaout改为RelativeLayout。图标大小使用ImageView设置参数
<ImageView
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:src="@mipmap/h"
        android:layout_centerInParent="true"
        android:layout_marginTop="5dp"/>
  • 增加点击效果即在对应点击的图片代码中添加
        android:onClick="imgClicked"
  • 为其他图片增加下滑动画,需要为它们各设一个id
        android:id="@+id/iv_b"
  • 再利用一个数组保存所有id号,再用一个数组保存所有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<>();
  • 将id号对应的图片视图读取出来 放到ImageViews里
        android:id="@+id/iv_b"
  • 定义一个变量 用来记录按钮的状态
        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 < imageViews.size(); i++) {
            //取出一个图片视图
        ImageView iv = imageViews.get(i);
            //给图片添加移动动画
        ObjectAnimator oa = ObjectAnimator.ofFloat(iv,"translationY",(i + 1) * 200f,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) * 200f);
        oa.setDuration(1000);
        oa.setInterpolator(new BounceInterpolator());
        oa.start();
    }
}

4. 实际使用

1564330737447.gif

相关文章

网友评论

      本文标题:【C语言学习】Andriod界面下滑菜单动画

      本文链接:https://www.haomeiwen.com/subject/vuhmrctx.html