android動畫縮放
Ⅰ 華為安卓手機設置更好
方法/步驟
要提升手機的運行速度,我們點開【設置】,如圖。
Ⅱ 安卓開發者模式里動畫縮放都調成0.5X,會不會影響游戲幀頻
前三個動畫是調節每個應用和桌面滑動的過渡動畫如果改成0
你會發現反應速度快了
但沒動畫了
強制gpu
是運行2d的東西時
不用cpu而是用gpu
調成0.5可以加快操作速度,因為不需要等待過長的動畫時長,有利於提高使用手機的效率,節約時間
所以沒啥影響,只是反應快點,過度動畫時間短了,不太美觀了而已
Ⅲ 安卓手機關於窗口動畫縮放,過渡動畫縮放,動畫程序時長對應的源文件和代碼是什麼啊
Android Activity(窗口)調用 overridePendingTransition(R.anim.left_out, R.anim.left_in);可以實現過渡動畫,其中R.anim.left_out是當前 Activity 退出的動畫,R.anim.left_in是新打開 Activity進入的動畫,至於實現縮放,只需要修改R.anim.left_out, R.anim.left_in對應的動畫實現方式,IDE 中點擊方法可以進入到源碼中。
Ⅳ android 不用XML,怎樣在代碼里用animation同時實現圖片的縮放和移動。
1.在java Code定義動畫
AlphaAnimation
漸變透明度動畫效果
ScaleAnimation
漸變尺寸伸縮動畫效果
TranslateAnimation
畫面轉換位置移動動畫效果
RotateAnimation
畫面轉移旋轉動畫效果
//定義變數
private Animation myAnimation_Alpha;
private Animation myAnimation_Scale;
private Animation myAnimation_Translate;
private Animation myAnimation_Rotate;
myAnimation_Alpha=new AlphaAnimation(0.1f, 1.0f);
//第一個參數fromAlpha為 動畫開始時候透明度
//第二個參數toAlpha為 動畫結束時候透明度
myAnimation_Scale =new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
//第一個參數fromX為動畫起始時 X坐標上的伸縮尺寸
//第二個參數toX為動畫結束時 X坐標上的伸縮尺寸
//第三個參數fromY為動畫起始時Y坐標上的伸縮尺寸
//第四個參數toY為動畫結束時Y坐標上的伸縮尺寸
//第五個參數pivotXType為動畫在X軸相對於物件位置類型
//第六個參數pivotXValue為動畫相對於物件的X坐標的開始位置
//第七個參數pivotXType為動畫在Y軸相對於物件位置類型
//第八個參數pivotYValue為動畫相對於物件的Y坐標的開始位置
myAnimation_Translate=new TranslateAnimation(30.0f, -80.0f, 30.0f, 300.0f);
//第一個參數fromXDelta為動畫起始時 X坐標上的移動位置
//第二個參數toXDelta為動畫結束時 X坐標上的移動位置
//第三個參數fromYDelta為動畫起始時Y坐標上的移動位置
//第四個參數toYDelta為動畫結束時Y坐標上的移動位置
myAnimation_Rotate=new RotateAnimation(0.0f,350.0f,Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIV E_TO_SELF, 0.5f);
//第一個參數fromDegrees為動畫起始時的旋轉角度
//第二個參數toDegrees為動畫旋轉到的角度
//第三個參數pivotXType為動畫在X軸相對於物件位置類型
//第四個參數pivotXValue為動畫相對於物件的X坐標的開始位
//第五個參數pivotXType為動畫在Y軸相對於物件位置類型
//第六個參數pivotYValue為動畫相對於物件的Y坐標的開始位置
2.3自定義動畫
除了以上4類動畫外,在代碼中繼承android.view.animation.Animation類來實現自定義效果。通過重寫Animation的applyTransformation(float interpolatedTime, Transformation t)函數來實現自定義動畫效果。
在繪制動畫的過程中會反復的調用applyTransformation函數,每次調用參數interpolatedTime值都會變化,該參數從0漸 變為1,當該參數為1時表明動畫結束。通過參數Transformation 來獲取變換的矩陣(matrix),通過改變矩陣就可以實現各種復雜的效果。
自定義圖片旋轉效果動畫代碼。
class ViewAnimation extends Animation
{
int mCenterX;
int mCenterY;
Camera camera = new Camera();
public ViewAnimation()
{
}
@Override
public void initialize(int width, int height, int parentWidth,
int parentHeight)
{
super.initialize(width, height, parentWidth, parentHeight);
mCenterX = width/2;
mCenterY = height/2;
setDuration(2500);
setFillAfter(true);
// setRepeatCount(100);
setInterpolator(new LinearInterpolator());
}
@Override
protected void applyTransformation(float interpolatedTime,
Transformation t)
{
final Matrix matrix = t.getMatrix();
camera.save();
camera.translate(0.0f, 0.0f, (1300 - 1300.0f * interpolatedTime));
camera.rotateY(360 * interpolatedTime);
camera.getMatrix(matrix);
matrix.preTranslate(-mCenterX, -mCenterY);
matrix.postTranslate(mCenterX, mCenterY);
camera.restore();
}
}
camera.translate(0.0f, 0.0f, (1300 - 1300.0f * interpolatedTime))在第一次調用的時候interpolatedTime值為0,相當於把ImageView在Z軸後移1300像素, 然後逐步的往前移動到0,同時camera.rotateY(360 * interpolatedTime)函數又把ImageView沿Y軸翻轉360度
2.4動畫實現
在代碼的一個activity中,將需要動畫的控制項與已定義的動畫關聯,開啟動畫
private Animation mAnimationXXX = null;//生明動畫
ImageView mAnimImageX = null;//生明 ImageView控制項(或者其它需要有動畫的控制項)
mAnimImageX = (ImageView) this.findViewById(R.id.anim_imageX);//取得圖片資源
mAnimImageX.startAnimation(mAnimationXXX);//基於xml文件,開啟動畫
mAnimImageX.startAnimation(new ViewAnimation());//基於自定義控制項,開啟動畫。
2.5圖片旋轉Demo
public class AnimationDemo extends Activity {
/** Called when the activity is first created. */
ImageView mAnimImage;
private Animation mAnimationAlpha = null;
private Animation mAnimationScale = null;
private Animation mAnimationTranslate = null;
private Animation mAnimationRotate = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mAnimImage = (ImageView) this.findViewById(R.id.anim_image1);
mAnimationAlpha = AnimationUtils.loadAnimation(this,R.anim.alpha_animation);
mAnimationScale = AnimationUtils.loadAnimation(this,R.anim.scale_animation);
mAnimationTranslate = AnimationUtils.loadAnimation(this,R.anim.translate_animation);
mAnimationRotate = AnimationUtils.loadAnimation(this,R.anim.rotate_animation);
}
public boolean onKeyUp(int keyCode, KeyEvent event)
{
switch ( keyCode )
{
case KeyEvent.KEYCODE_1:
mAnimImage.startAnimation(mAnimationAlpha);
break;
case KeyEvent.KEYCODE_2:
mAnimImage.startAnimation(mAnimationScale);
break;
case KeyEvent.KEYCODE_3:
mAnimImage.startAnimation(mAnimationTranslate);
break;
case KeyEvent.KEYCODE_4:
mAnimImage.startAnimation( mAnimationRotate);
break;
case KeyEvent.KEYCODE_5:
mAnimImage.startAnimation(new ViewAnimation());
break;
}
return true;
}
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ( keyCode == KeyEvent.KEYCODE_BACK)
{
this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
3 Frame動畫
Frame 動畫是順序播放事先做好的圖片。可以在XML Resource定義,也可以使AnimationDrawable中的API定義。
3.1Frame動畫實現
定義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/a1" android:ration="500" />
<item android:drawable="@drawable/a2" android:ration="500" />
<item android:drawable="@drawable/a3" android:ration="500" />
<item android:drawable="@drawable/a4" android:ration="500" />
<item android:drawable="@drawable/a5" android:ration="500" />
<item android:drawable="@drawable/a6" android:ration="500" />
<item android:drawable="@drawable/a7" android:ration="500" />
<item android:drawable="@drawable/a8" android:ration="500" />
<item android:drawable="@drawable/a9" android:ration="500" />
<item android:drawable="@drawable/a10" android:ration="500" />
<item android:drawable="@drawable/a11" android:ration="500" />
<item android:drawable="@drawable/a12" android:ration="500" />
<item android:drawable="@drawable/a13" android:ration="500" />
<item android:drawable="@drawable/a14" android:ration="500" />
<item android:drawable="@drawable/a15" android:ration="500" />
</animation-list>
定義動畫類
public class GameView extends View
{
private AnimationDrawable frameAnimation = null;
Context mContext = null;
public GameView(Context context)
{
super(context);
mContext = context;
ImageView img = new ImageView(mContext);
img.setBackgroundResource(R.anim.frameanimation);
frameAnimation = (AnimationDrawable) img.getBackground();
frameAnimation.setOneShot( false );
this.setBackgroundDrawable(frameAnimation);
}
public void onDraw(Canvas canvas)
{
super.onDraw(canvas);
}
public boolean onKeyUp(int keyCode, KeyEvent event)
{
switch ( keyCode )
{
case KeyEvent.KEYCODE_DPAD_UP:
frameAnimation.start();
break;
}
return true;
}
}
開啟動畫
public class Activity01 extends Activity
{
private GameView mGameView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
mGameView = new GameView(this);
setContentView(mGameView);
}
public boolean onKeyUp(int keyCode, KeyEvent event)
{
if ( mGameView == null )
{
return false;
}
mGameView.onKeyUp(keyCode,event);
return true;
}
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ( mGameView == null )
{
return false;
}
if ( keyCode == KeyEvent.KEYCODE_BACK)
{
this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
Ⅳ 動畫縮放調為多少最好
在手機開發者選項上設置這個窗口動畫縮放和過渡動畫縮放,不會有影響,改成0.5手機反應更快。
這些設置可以改變切換主界面,列表,設置以及切換其他小窗口時候的動畫效果,全部關閉後手機切換速度變快,但顯得比較僵硬,設置的數值越高效果越好,但會拖慢切換速度。具體設置多少要看個人需求。
窗口動畫縮放和過渡動畫縮放的功能是:
1、窗口動畫縮放:指的是鎖屏和解鎖時的效果。
當你鎖屏的時候,會有像關電視機一樣,窗口縮放到中間一條線,然後再消失。如果關閉縮放的話,屏幕會直接全部黑掉,沒有任何動畫效果;如果設置縮放效果10X的話,就相當於工作放慢了10倍,像放慢動作一樣。
2、過度動畫縮放也是同樣的道理,只不是這個指的是不同畫面之間切換時候的效果。
Ⅵ 手機動畫縮放0.5好還是1號
窗口動畫縮放0.5x和1x的區別是,動畫縮放速度不一樣,0.5x要比1x更快。
一般來說,安卓默認的窗口動畫縮放都是1x,如果調成0.5x,就能加快動畫。大家打開手機設置,進入裡面的開發者選項,可以手動調整窗口動畫縮放速度。除了窗口動畫縮放,該界面還可以調整過渡動畫縮放、動畫程序時長縮放等選項。
用戶可以根據自己的感覺,進行設置。反正就是哪個速度看起來舒服,就用哪個。
手機作用:
1、商務
商務手機,顧名思義,就是以商務人士或就職於國家機關單位的人士作為目標用戶群的手機產品。由於功能強大,商務手機倍受歡迎。業內專家指出:「一部好的商務手機,應該幫助用戶既能實現快速而順暢的溝通,又能高效地完成商務活動。」
2、影像
雖然影像手機是手機的一種,但主要是主打影像功能的手機。世界上第一支相機手機,是由日本的夏普公司在2000年11月所製造的J-SH04。
這支相機手機不出所料的使用了CMOS影像感光模組﹙簡稱CMOS﹚,原因是CMOS能夠比當時數碼相機所用的CCD影像感光模組更為省電。讓手機的電池不因為加入了相機的使用而快速用盡。
Ⅶ 請問Android手機更改窗口動畫縮放,選擇:0.5X;過渡動縮放,選擇:0.5x;動畫程序時長調
前三個動畫是調節每個應用和桌面滑動的過渡動畫如果改成0 你會發現反應速度快了 但沒動畫了 強制gpu 是運行2d的東西時 不用cpu而是用gpu
Ⅷ 安卓手機設置里有動畫縮放選項改成x0.5感覺快多了。要是把動畫關了會怎樣
全部關閉後手機切換速度變快,但顯得比較僵硬。
Ⅸ android中的動畫可以改變一個view的高和寬嗎
android中有三種動畫類型,分別是TweenAnimation, FrameAnimation和PropertyAnimation。
要在視覺上改變view的高和寬,只是視覺
一:可以使用TweenAnimation類型的縮放動畫ScaleAnimation,但是通過實踐可以發現雖然視覺上view控制項是增大或者縮小了,但是觸摸范圍還是原來的大小,真正意義上的寬高也就是getMeasureWidth和getMeasureHeight的值並不會改變,所以不符合要求
二:使用PropertyAnimation,屬性動畫就是通過改變控制項的屬性來達到動畫的效果,所以根據需求屬性動畫是合適的
示例代碼如下
Viewview;
ObjectAnimatoranimator=ObjectAnimator.ofFloat(view,"scaleY",1f,2f);
animator.setDuration(1000);
animator.start();
上面代碼的效果就是讓view的高度拉伸一倍
只要是控制項的setXXX方法可以改變view就可以使用,比如setTranslationX,setScrollY等等方法