• 热门专题

模仿猫眼电影App一个动画效果

作者:  发布日期:2015-06-11 19:53:40
Tag标签:猫眼  效果  动画  
  • 看真正的猫眼效果图

    接下来看自己写的粗略图(不足的地方是这里是2个切换选项,如果需要3个切换的话,需要自定义控件,后续在更新。。。)

    源码地址 http://www.it165.net/uploadfile/files/2015/0611/MyToggleButton.rar

    先看主页面xml布局文件--so easy

    activity_main.xml

     

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.example.mytogglebutton.MainActivity" >
    
        <RelativeLayout
            android:layout_width="150dp"
            android:layout_height="50dp"
            android:layout_centerInParent="true"
            android:background="#CD5555" >
    
            <TextView
                android:id="@+id/tv_left"
                android:layout_width="50dp"
                android:layout_height="40dp"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:layout_marginLeft="15dp"
                android:gravity="center"
                android:text="购物" />
    
            <TextView
                android:id="@+id/tv_up"
                android:layout_width="50dp"
                android:layout_height="40dp"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:layout_marginLeft="15dp"
                android:background="#ffffff"
                android:gravity="center"
                android:text="购物" />
    
            <TextView
                android:id="@+id/tv_right"
                android:layout_width="50dp"
                android:layout_height="40dp"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:layout_marginRight="15dp"
                android:gravity="center"
                android:text="美食" />
        </RelativeLayout>
    
    </RelativeLayout>

    MainActivity--看主布局代码--so easy

     

     

    package com.example.mytogglebutton;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.animation.Animation;
    import android.view.animation.TranslateAnimation;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class MainActivity extends Activity implements OnClickListener {
    
    	private TextView tv_left;
    	private TextView tv_right;
    	private TextView tv_up;
    	//表示是否要从购物切换到美食
    	private boolean tv_up_left_tran = false;
    	//表示是否要从美食切换到购物
    	private boolean tv_up_right_tran = false;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		initView();
    		tv_right.setOnClickListener(this);
    		tv_left.setOnClickListener(this);
    	}
    
    	private void initView() {
    		tv_left = (TextView) findViewById(R.id.tv_left);
    		tv_right = (TextView) findViewById(R.id.tv_right);
    		tv_up = (TextView) findViewById(R.id.tv_up);
    	}
    
    	@Override
    	public void onClick(View v) {
    		switch (v.getId()) {
    		case R.id.tv_left:
    			
    			//表示要从美食切换到购物
    			if (!tv_up_right_tran) {
    				TranslateAnimation animation = new TranslateAnimation(
    						Animation.RELATIVE_TO_SELF, 1.4f,
    						Animation.RELATIVE_TO_SELF, 0f,
    						Animation.RELATIVE_TO_SELF, 0.0f,
    						Animation.RELATIVE_TO_SELF, 0.0f);
    				animation.setDuration(100);
    				tv_up.setText("购物");
    				animation.setFillAfter(true);
    				tv_up.startAnimation(animation);
    			}
    			//切换后,修改状态--可以从左边切换到右边,但是不能从右边切换到左边
    			tv_up_right_tran = true;
    			tv_up_left_tran = false;
    			Toast.makeText(this, ""+tv_up.getText(), 1).show();
    			break;
    		case R.id.tv_right:
    			//表示要从购物切换到美食
    			if (!tv_up_left_tran) {
    				TranslateAnimation animation1 = new TranslateAnimation(
    						Animation.RELATIVE_TO_SELF, 0.0f,
    						Animation.RELATIVE_TO_SELF, 1.4f,
    						Animation.RELATIVE_TO_SELF, 0.0f,
    						Animation.RELATIVE_TO_SELF, 0.0f);
    				animation1.setDuration(100);
    				tv_up.setText("美食");
    
    				tv_up.startAnimation(animation1);
    				animation1.setFillAfter(true);
    			}
    			//切换后,修改状态--可以从右边切换到左边,但是不能从左边切换到右边
    			tv_up_left_tran = true;
    			tv_up_right_tran = false;
    			Toast.makeText(this, ""+tv_up.getText(), 1).show();
    			break;
    
    		default:
    			break;
    		}
    	}
    
    }
    


     

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规