日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

安卓开源库之动画篇

發(fā)布時(shí)間:2024/7/23 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安卓开源库之动画篇 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文主要介紹收集了筆者所用過(guò)的開(kāi)源動(dòng)畫(huà)庫(kù),達(dá)到一些比較好看的效果。

一個(gè)富有動(dòng)感的 Sheet

鏈接:

zzz40500/AndroidSweetSheet: 一個(gè)富有動(dòng)感的Sheet(選擇器)

效果如下

示例代碼

package com.zj.testsheet;import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.RelativeLayout; import android.widget.Toast;import com.mingle.entity.MenuEntity; import com.mingle.sweetpick.BlurEffect; import com.mingle.sweetpick.RecyclerViewDelegate; import com.mingle.sweetpick.SweetSheet;import java.util.ArrayList;public class MainActivity extends AppCompatActivity {SweetSheet mSweetSheet;RelativeLayout rl;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);rl= (RelativeLayout) findViewById(R.id.rl);// SweetSheet 控件,根據(jù) rl 確認(rèn)位置mSweetSheet = new SweetSheet(rl);final ArrayList<MenuEntity> list = new ArrayList<>();//添加假數(shù)據(jù)MenuEntity menuEntity1 = new MenuEntity();menuEntity1.iconId = R.drawable.ic_account_child;//menuEntity1.titleColor = 0xff000000;menuEntity1.title = "code";MenuEntity menuEntity = new MenuEntity();menuEntity.iconId = R.drawable.ic_account_child;//menuEntity.titleColor = 0xffb3b3b3;menuEntity.title = "QQ";list.add(menuEntity1);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);//設(shè)置數(shù)據(jù)源 (數(shù)據(jù)源支持設(shè)置 list 數(shù)組,也支持從menu 資源中獲取)mSweetSheet.setMenuList(list);SweetSheet mSweetSheet2 = new SweetSheet(rl);//從menu 中設(shè)置數(shù)據(jù)源mSweetSheet2.setMenuList(R.menu.menu_sweet); //根據(jù)設(shè)置不同的 Delegate 來(lái)顯示不同的風(fēng)格.mSweetSheet.setDelegate(new RecyclerViewDelegate(true)); //根據(jù)設(shè)置不同Effect來(lái)設(shè)置背景效果:BlurEffect 模糊效果.DimEffect 變暗效果,NoneEffect 沒(méi)有效果.mSweetSheet.setBackgroundEffect(new BlurEffect(8)); //設(shè)置菜單點(diǎn)擊事件mSweetSheet.setOnMenuItemClickListener(new SweetSheet.OnMenuItemClickListener() {@Overridepublic boolean onItemClick(int position, MenuEntity menuEntity1) {//根據(jù)返回值, true 會(huì)關(guān)閉 SweetSheet ,false 則不會(huì).Toast.makeText(MainActivity.this, menuEntity1.title + " " + position, Toast.LENGTH_SHORT).show();return true;}});mSweetSheet.show();} }

A fluent Android animation library。安卓動(dòng)畫(huà)庫(kù)

主要包括一些進(jìn)度條效果

鏈接:

gzu-liyujiang/ViewAnimator: A fluent Android animation library。安卓動(dòng)畫(huà)庫(kù),加入了一些不錯(cuò)的動(dòng)畫(huà),如:fall、shake、flash、fadeIn、rollOut……支持任意路徑動(dòng)畫(huà)(示例動(dòng)畫(huà)為不斷冒出來(lái)的桃心及飄雪),支持按SVG格式的path運(yùn)動(dòng)。部分已合并到原作者florent37的主分支

效果如下

示例代碼

private void animateParallel() {ViewAnimator.animate(mountain, image).dp().translationY(-1000, 0).alpha(0, 1).andAnimate(percent).scale(0, 1).andAnimate(text).dp().translationY(1000, 0).textColor(Color.BLACK, Color.WHITE).backgroundColor(Color.WHITE, Color.BLACK).waitForHeight().interpolator(new AccelerateDecelerateInterpolator()).duration(1000).thenAnimate(percent).custom(new AnimationListener.Update<TextView>() {@Overridepublic void update(TextView view, float value) {value = value * 100;view.setText(String.format(Locale.US, "%.0f%%", value));}}, 0, 1).andAnimate(image).rotation(0, 360).onStop(new AnimationListener.Stop() {@Overridepublic void onStop() {Intent intent = new Intent(StartActivity.this, MainActivity.class);startActivity(intent);}}).duration(1000).start(); }

recycleView動(dòng)畫(huà)效果

鏈接:

gabrielemariotti/RecyclerViewItemAnimators: An Android library which provides simple Item animations to RecyclerView items

效果如下:

示例代碼


recyclerView= (RecyclerView) findViewById(R.id.id_recyclerview);
recyclerView.setLayoutManager(new GridLayoutManager(this, 4));
mAdapter=new HomeAdapter();
slideInBottomAnimatorAdapter=new SlideInBottomAnimatorAdapter(mAdapter,recyclerView);
recyclerView.setAdapter(slideInBottomAnimatorAdapter);

總結(jié)

以上是生活随笔為你收集整理的安卓开源库之动画篇的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。