美文网首页view
Android中Button和动画

Android中Button和动画

作者: 黑铁选手 | 来源:发表于2019-09-21 22:54 被阅读0次

    目的

    掌握按钮的相关属性及其操作,熟悉xml配制动画和代码创建和图片的

    相关技术、及其使用

    1、Button的属性和大多数的属性有相同之处,例如:text、textColor、textSize和marginTop等属性都是相同的,但是还是有不同的属性,比如说:enabled属性(文本是否能操作)

     <Button
            android:id="@+id/bt_login"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
    
            android:text="登录"
            android:textColor="#ff0000"
            android:textSize="25sp"
            android:tag="1"
            android:layout_marginTop="10dp"
            />
    

    2、给按钮添加点击事件

    (1)可以在xml配制文件里面使用android:onClick="login",个人意见,不建议使用,多数情况下回出错。

    (2)在代码里面调用setOnClickListener(实现onClick方法)给按钮添加点击事件,如果需要实现点击按钮过后,按钮上显示的文本改变,推荐使用Lambda函数来实现。

    btn.setOnClickListener((view ->{
                 //推荐使用
                 if (btn.getTag().equals("1")) {
                     btn.setText("done");
                     btn.setTag("0");
                 } else {
                     btn.setText("edit");
                     btn.setTag("1");
                 }
             }));
    

    3、动画(animation)里面主要学习关键帧动画(FrameAnimation),关键帧动画就是使用多帧(多张图片)快速切换形成一种动画,动画里面有个重要的属性就是Duration(动画每一帧之间的间隔时间)
    注意:补间动画只是一个效果,没有真正的改变属性的值,属性动画才是真正的改变了控件的属性值
    关键帧动画:配制了动画的每一帧(每一张)
    补间动画:只关心开始和结束的两个状态,中间的动画有系统自动补全

    (1)xml配制文件中创建动画,直接添加View设置颜色大小,并添加id方便创建代码过程中调用res -> anim -> xxx.xml

    <View
            android:id="@+id/v_anim"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:background="@color/colorAccent"/>
    

    (2)代码创建动画效果步骤:
    (2.1)找到需要动画的控件
    (2.2)创建动画
    (2.3)开启动画

       //1、创建一个动画资源
            AnimationDrawable anim = new AnimationDrawable();
    
            //2、添加每一帧的动画
            int[] resID = {R.drawable.campfire01,R.drawable.campfire02,R.drawable.campfire03,R.drawable.campfire04,R.drawable.campfire05,R.drawable.campfire06,R.drawable.campfire07,R.drawable.campfire08,R.drawable.campfire09,R.drawable.campfire10,R.drawable.campfire11,R.drawable.campfire12,R.drawable.campfire13,R.drawable.campfire14,R.drawable.campfire15,R.drawable.campfire16,R.drawable.campfire17};
            for(int id:resID){
                anim.addFrame(getResources().getDrawable(id,null),100);
            }
            //3、使用这个动画资源
            ImageView iv = findViewById(R.id.iv_animation);
            iv.setImageDrawable(anim);
    
            //4、启动动画
            anim.start();
    
    

    4、补间动画相关功能xml配制文件中配制
    平移:translate
    缩放:scale
    旋转:rotate
    透明:alpha

    <translate android:fromXDelta="0%" android:toXDelta="100%"/>
        <alpha android:fromAlpha="0" android:toAlpha="1.0"/>
    
        <scale android:fromXScale="0.1" android:toXScale="1.0" android:fromYScale="0.1" android:toYScale="1.0" android:pivotX="50%" android:pivotY="50%"/>
    
        <rotate android:fromDegrees="0" android:toDegrees="360" android:pivotY="50%" android:pivotX="50%"/>
    
    

    PS

    已经是开始Android阶段学习的第五天,一直给我的感觉就是东西很多,方法很多,记不住,其实知识点都很简单,并不复杂,但是就是很多。

    相关文章

      网友评论

        本文标题:Android中Button和动画

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