Android?Studio實現簡單補間動畫
更新時間:2022年07月20日 17:26:11 作者:醉流年
這篇文章主要為大家詳細介紹了Android?Studio實現簡單補間動畫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Android Studio實現簡單補間動畫的具體代碼,供大家參考,具體內容如下
1、動畫發(fā)在res/anim/,創(chuàng)建new/Directory
2、創(chuàng)建動畫, 平移,縮放,旋轉,改變透明度
//平移 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> ? <translate ? ? ? android:fromXDelta="0.0" ? ? android:fromYDelta="0.0" ? ? android:toXDelta="100" ? ? android:toYDelta="0.0" ? ? android:repeatMode="reverse" ? ? android:repeatCount="infinite" ? ? android:duration="4000" ? ? /> ? </set> //縮放 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale ? ? ? android:repeatMode="reverse" ? ? android:repeatCount="infinite" ? ? android:duration="3000" ? ? android:fromXScale="1.0" ? ? android:fromYScale="1.0" ? ? android:toXScale="0.5" ? ? android:toYScale="0.5" ? ? android:pivotX="50%" ? ? android:pivotY="50%"/> ? </set> //旋轉 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> ? ? ? <rotate android:fromDegrees="0" ? ? ? ? android:toDegrees="360" ? ? ? ? android:pivotX="50%" ? ? ? ? android:pivotY="50%" ? ? ? ? android:repeatMode="reverse" ? ? ? ? android:repeatCount="infinite" ? ? ? ? android:duration="1000" ? ? ? ? /> ? </set> //改變透明度 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha ? ? android:interpolator="@android:anim/linear_interpolator" ? ? android:repeatMode="reverse" ? ? android:repeatCount="infinite" ? ? android:duration="1000" ? ? android:fromAlpha="1.0" ? ? android:toAlpha="0.0"/> ? </set>
3、布局activity_main.xml,點擊按鈕圖片發(fā)送變化,圖片需要自己下載添加44
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ? ? xmlns:app="http://schemas.android.com/apk/res-auto" ? ? xmlns:tools="http://schemas.android.com/tools" ? ? android:layout_width="match_parent" ? ? android:layout_height="match_parent" ? ? android:layout_weight="1" ? ? android:orientation="vertical" ? ? tools:context=".MainActivity"> ? ? ? ? <ImageView ? ? ? ? ? android:layout_width="300dp" ? ? ? ? ? android:layout_height="300dp" ? ? ? ? ? android:layout_centerInParent="true" ? ? ? ? ? android:layout_gravity="center" ? ? ? ? ? android:id="@+id/fk" ? ? ? ? ? android:src="@drawable/ff"/> ? ? ?<LinearLayout ? ? ? ?android:layout_width="match_parent" ? ? ? ?android:layout_height="match_parent" ? ? ? android:orientation="horizontal"> ? ? ? ? <Button ? ? ? ?android:layout_width="wrap_content" ? ? ? ?android:layout_height="wrap_content" ? ? ? ?android:text="平移" ? ? ? ?android:textSize="24sp" ? ? ? ?android:layout_weight="1" ? ? ? ? android:gravity="center" ? ? ? ? ? android:layout_gravity="bottom" ? ? ? ?android:id="@+id/but"/> ? ? ? <Button ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? android:text="縮放" ? ? ? ? ? android:textSize="24sp" ? ? ? ? ? android:layout_gravity="bottom" ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? android:gravity="center" ? ? ? ? ? android:id="@+id/but1"/> ? ? ? <Button ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? android:text="旋轉" ? ? ? ? ? android:textSize="24sp" ? ? ? ? ? android:gravity="center" ? ? ? ? ? android:layout_gravity="bottom" ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? android:id="@+id/but2"/> ? ? ? <Button ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? android:text="改變透明度" ? ? ? ? ? android:textSize="24sp" ? ? ? ? ? android:gravity="center" ? ? ? ? ? android:layout_gravity="bottom" ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? android:id="@+id/but3"/> ? ?</LinearLayout> ? </RelativeLayout>
4、邏輯代碼MainActivity
public class MainActivity extends AppCompatActivity implements View.OnClickListener { ? ? private ImageView imageView; ? ? private Button button; ? ? private Button button1; ? ? private Button button2; ? ? private Button button3; ? ? ? @RequiresApi(api = Build.VERSION_CODES.N) ? ? @Override ? ? protected void onCreate(Bundle savedInstanceState) { ? ? ? ? super.onCreate(savedInstanceState); ? ? ? ? setContentView(R.layout.activity_main); ? ? ? ? //要用控件,定id ? ? ? ? button=findViewById(R.id.but); ? ? ? ? button1=findViewById(R.id.but1); ? ? ? ? button2=findViewById(R.id.but2); ? ? ? ? button3=findViewById(R.id.but3); ? ? ? ? ? imageView=findViewById(R.id.fk); ? ? ? ? button.setOnClickListener(this); ? ? ? ? button1.setOnClickListener(this); ? ? ? ? button2.setOnClickListener(this); ? ? ? ? button3.setOnClickListener(this); ? ? ? } ? ? ? @Override ? ? public void onClick(View view) { ? ? ? ? switch (view.getId()){ ? ? ? ? ? ? case R.id.but: ? ? ? ? ? ? ? ? Animation translation= AnimationUtils.loadAnimation(this,R.anim.translate); ? ? ? ? ? ? ? ? imageView.startAnimation(translation); ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case R.id.but1: ? ? ? ? ? ? ? ? Animation scale= AnimationUtils.loadAnimation(this,R.anim.scale); ? ? ? ? ? ? ? ? imageView.startAnimation(scale); ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case R.id.but2: ? ? ? ? ? ? ? ? Animation rotate= AnimationUtils.loadAnimation(this,R.anim.rotate); ? ? ? ? ? ? ? ? imageView.startAnimation(rotate); ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case R.id.but3: ? ? ? ? ? ? ? ? Animation alpha= AnimationUtils.loadAnimation(this,R.anim.alpha); ? ? ? ? ? ? ? ? imageView.startAnimation(alpha); ? ? ? ? ? ? ? ? break; ? ? ? ? } ? ? ? } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android開發(fā)筆記之:Log圖文詳解(Log.v,Log.d,Log.i,Log.w,Log.e)
本篇文章是對Android中的Log進行了詳細的分析介紹,需要的朋友參考下2013-05-05android studio 打包自動生成版本號與日期,apk輸入路徑詳解
這篇文章主要介紹了android studio 打包自動生成版本號與日期,apk輸入路徑詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03android中WebView和javascript實現數據交互實例
這篇文章主要介紹了android中WebView和javascript實現數據交互實例,需要的朋友可以參考下2014-07-07