Animation過程中座標的獲取方法

2021-07-02 14:28:04 字數 1458 閱讀 8915



android 的tween動畫並不會改變控制項的屬性值,比如以下測試片段:

定義乙個從螢幕右邊進入,滾動到螢幕左邊消失的乙個translateanimation動畫:

xml version="1.0" encoding="utf-8"

?>

<

set

xmlns:android

=""android:fillenabled

="true"

android:fillafter

="true"

>

<

translate

android:duration

="7000"

android:fromxdelta

="100%p"

android:toxdelta

="-100%"

/>

set>

在activity裡面設定某個textview的動畫,並且另起乙個執行緒每隔一秒獲取textview的座標:

public

class activity1 extends

activity

});getlocationthread.start();

}private thread getlocationthread = new

thread()

catch

(interruptedexception e) }}

};@override

protected

void

ondestroy()

}

最後logcat測試結果如下所示:

可見雖然textview隨著動畫移動了,但是他的位置屬性並沒有改變。

那麼如何獲取隨著動畫改變的座標?

利用transformation這個類

**如下所示:

private thread getlocationthread = new

thread()

catch

(interruptedexception e) }}

};

matrix是由9個float構成的3x3的矩陣,如下所示:

|cosx  -sinx   translatex| 

|sinx   cosx    translatey|

|0         0         scale     |

cosx sinx表示旋轉角度,按順時針方向算。 scale是縮放比例。

啟動執行緒後 logcat如下所示:

原文出處

儲存過程中游標的使用

例如 乙個公司,按照如下規則計算加薪金額 1.公司中除了總裁 president 外,所有人都會至少增加p min的薪水 2.任何獎金 bonus 高於 600的員工都會另增加4 3.員工的佣金 commission 越高,增加越少。佣金 commission 少於 2000的另增加3 佣金 com...

opencv中座標的問題

晚上在寫相關係數法匹配程式時,發現有乙個地方不停的報錯,好像是座標超限的錯誤,我上網查了一下,原來並不是x,y座標定義並不是自己之前想的那樣。row heigh point.y col width point.x mat at point x,y mat at y,x 因為還有點的座標,所以建議在訪...

Oracle儲存過程中多層巢狀游標的用法

oracle sql指令碼 create or replace procedure p delete qk pid in number,deep in number as pid 分類id deep 深度,層級 one val number two val number three val numb...