样式,主题和动画

原创 2015年07月08日 11:06:31

样式---------定义在values种的style.xml里,和主题不同,样式的作用范围主要是在控件上,旨在抽出不同布局里不同控件相同风格的一组属性。


主题-------主要是写在清单文件里,有基于应用的,也有基于Activity的,包括一些背景色和是否全屏等等,具体可以看系统SDK的platforms下的value文件夹下。


动画分为几种


帧动画,首先创建一个xml文件gril.xml,添加节点

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    android:oneshot="false"
    >
    <item
        android:drawable="@drawable/girl_1"
        android:duration="200"/>
    <item
        android:drawable="@drawable/girl_2"
        android:duration="200"/>
    <item
        android:drawable="@drawable/girl_3"
        android:duration="200"/>


</animation-list>
oneshot 设置成true就是只播放一次,false循环播放



activity里代码如下

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		iv = (ImageView) findViewById(R.id.iv);
		// 把xml文件的动画资源设置为iv背景
		iv.setBackgroundResource(R.drawable.girl);
		// 获取设置的动画资源。 执行可能需要花费一定的时间
		mAnimationDrawable = (AnimationDrawable) iv.getBackground();
		
	}

	public boolean onTouchEvent(MotionEvent event) {
		if (event.getAction() == MotionEvent.ACTION_DOWN) {
			mAnimationDrawable.start();
			return true;
		}
		return super.onTouchEvent(event);
	}


补间动画

旋转,位移,缩放,透明度动画



//透明度动画
	public void alpha(View view){
		AlphaAnimation  aa = new AlphaAnimation(0.0f, 1.0f);      //完全透明-》完全不透明
		aa.setDuration(2000);  //播放时间
		aa.setRepeatCount(1);  //重复次数1,共播放2次,-1代表无限次,永远不停
		aa.setRepeatMode(Animation.REVERSE);   //重复类型,逆序
		aa.setFillAfter(true);  //是否还原
		iv.startAnimation(aa); 
	}
	//位移动画
	public void trans(View view){
		TranslateAnimation ta = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, -0.5f, 
				Animation.RELATIVE_TO_PARENT, 0.5f, 
				Animation.RELATIVE_TO_PARENT, 0.0f, 
				Animation.RELATIVE_TO_PARENT, 0.0f);  //开始类型(相对父亲或相对自己),x轴开始点,x轴结束点
		ta.setDuration(2000);
		ta.setRepeatCount(1);
		ta.setRepeatMode(Animation.REVERSE);
		iv.startAnimation(ta);
	}


	//缩放动画
	public void scale(View view){
		ScaleAnimation sa = new ScaleAnimation(0.1f, 2.0f, 0.1f, 2.0f, Animation.RELATIVE_TO_SELF, 
				0.5f, Animation.RELATIVE_TO_SELF, 0.5f);    //开始x,缩放后x,开始y,缩放后y,相对自己,自己中心点,相对自己,0.5y就是自己的中心点
		sa.setDuration(2000);
		sa.setRepeatCount(1);
		sa.setRepeatMode(Animation.REVERSE);
		iv.startAnimation(sa);
	}
	
	//旋转动画
	public void rotate(View view){
		RotateAnimation ra = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF,
				0.0f, Animation.RELATIVE_TO_SELF, 0.0f);   //相对于自己的左上角转360度
		ra.setDuration(2000);
		ra.setRepeatCount(1);
		ra.setRepeatMode(Animation.REVERSE);
		iv.startAnimation(ra);
	}



	//动画组合
	public void set(View view){
		AnimationSet set = new AnimationSet(false);
		TranslateAnimation ta = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, -0.5f, 
				Animation.RELATIVE_TO_PARENT, 0.5f, 
				Animation.RELATIVE_TO_PARENT, -0.5f, 
				Animation.RELATIVE_TO_PARENT, 0.5f);
		ta.setDuration(2000);
		ta.setRepeatCount(1);
		ta.setRepeatMode(Animation.REVERSE);
		ScaleAnimation sa = new ScaleAnimation(0.1f, 2.0f, 0.1f, 2.0f, Animation.RELATIVE_TO_SELF, 
				0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
		sa.setDuration(2000);
		sa.setRepeatCount(1);
		sa.setRepeatMode(Animation.REVERSE);
		RotateAnimation ra = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF,
				0.0f, Animation.RELATIVE_TO_SELF, 0.0f);
		ra.setDuration(2000);
		ra.setRepeatCount(1);
		ra.setRepeatMode(Animation.REVERSE);
		set.addAnimation(ra);
		//set.addAnimation(ta);
		set.addAnimation(sa);
		iv.startAnimation(set);
	}

组合的时候就放在set集合里,开始的false代表自顾自得速度。

代码也可以用xml文件来定义,

这样就可以直接用AnimationUtils.loadAnimation(Context,R.anim.xx);

Android样式主题_国际化_动画

  • 2016年04月03日 15:09
  • 1.72MB
  • 下载

样式 主题 动画

  • 2015年05月16日 09:44
  • 11KB
  • 下载

【黑马Android】(11)音乐播放器/视频播放器/照相机/常见对话框/notification通知/样式和主题/帧动画/传感器/应用程序反编译与安装

音乐播放器api
  • waldmer
  • waldmer
  • 2016年05月24日 22:00
  • 6101

Android中的动画,选择器,样式和主题的使用

一、动画: 1、动画的分类: 1)、Tween动画:这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化; 2)、Frame动画:传统的动画方法,通过顺序的播放排列好的图片来实现,类似...

Android 第七天重置版_样式主题国际化动画对话框

Android中样式和主题:                     |         |                  style  Theme    如果我们 每一个控件都用到了比较...

Android - SQLite数据库创建/增删改查/升级,OOM,ListView(优化/更新),常见对话框,ArrayAdapter,SimpleAdapter,动画,国际化,样式和主题

Android - SQLite数据库创建/增删改查/升级,OOM,ListView(优化/更新),常见对话框,ArrayAdapter,SimpleAdapter,动画,国际化,样式和主题...

Pycharm 主题 样式

  • 2017年09月29日 13:55
  • 13KB
  • 下载

Clover启动样式主题

  • 2017年07月28日 09:50
  • 10.44MB
  • 下载

Android——AndroidStudio主题样式、字体设置

AndroidStudio自带的主题样式只有Darcula、Intellij、Windows三种,但是可以到其他网站上去下载主题样式进行导入。首先说一下如何设置主题自带的样式。 切换自带的主题 ...

android中主题和样式的基本用法

  • 2016年03月26日 16:24
  • 17.77MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:样式,主题和动画
举报原因:
原因补充:

(最多只允许输入30个字)