国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

自定義view實戰筆記--視差特效

2019-11-09 17:10:41
字體:
來源:轉載
供稿:網友

視差特效

先要設置imageview的scaleType屬性為centerCrop

動態的改變一個控件的寬高可以在屬性動畫中不斷修改布局參數的值,然后調用該控件的iv_header.requestLayout();方法

// 把當前的頭布局的高度currentHeight恢復到初始高度orignalHeight final int currentHeight = iv_header.getHeight(); // 300 -> 160 ValueAnimator animator = ValueAnimator.ofInt(currentHeight, orignalHeight); // 動畫更新的監聽 animator.addUpdateListener(new AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { // 0.0 -> 1.0 // 獲取動畫執行過程中的分度值 float fraction = animation.getAnimatedFraction();// Integer evaluate = evaluate(fraction, currentHeight, orignalHeight); // 獲取中間的值 Integer animatedValue = (Integer) animation.getAnimatedValue(); System.out.注意點:可以用以下代碼在activity的onCreate()方法中獲取控件的寬高,但要注意,在在獲取完畢之后要移除監聽,否則會被反復調用賦值

ivHeader.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { // 圖片的原始高度 drawableHeight = ivHeader.getDrawable().getIntrinsicHeight(); //Imageview的初始高度,用來做動畫 originalHeight = ivHeader.getHeight(); ivHeader.getViewTreeObserver().removeGlobalOnLayoutListener(this); } });
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南郑县| 视频| 新宾| 华池县| 乌拉特后旗| 锦屏县| 来宾市| 罗定市| 乐陵市| 延吉市| 肃南| 绥江县| 安化县| 大余县| 永清县| 调兵山市| 垦利县| 铜川市| 洛宁县| 乌什县| 太原市| 洪洞县| 普兰县| 灵璧县| 灵山县| 斗六市| 元江| 河间市| 五大连池市| 天气| 长岭县| 米易县| 射阳县| 白沙| 东城区| 定安县| 日照市| 海晏县| 会泽县| 兴海县| 瑞昌市|