2015-10-18 6 views
12

Android Viewは、非常によく似た機能を実行するように見える2つの方法があるようです。Android - offsetTopAndBottomとの違い、setTranslateY

1] setTranslationX & setTranslationY
2] offsetLeftAndRight & offsetTopAndBottom

誰もが、これらはどのように異なるかを教えてもらえますか? [1]は使用できますが[2]では使用できないシナリオは何ですか?逆も同様です。

答えて

-1

普通の意味では、両方の関数は異なったAPIレベルの積であるが、今ではsettranslationでapiはatlest16でなければならないが、オフセットUでは静的な初期apiからそれらを見ることができ、 、私たちに画面を移動させる効果を与えることでaplhaを必要としませんが、そのアルファがキーポイントであるボケ関数、 settranslate例

をオフセット
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXDelta="100%p" android:toXDelta="0%p" 
    android:duration="@android:integer/config_longAnimTime"/> 

ため、移動のillutionを作成します。画面左から右 オフセット:

<offset AlphaAnimation xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromalpha="0.0f" android:toalpha=1.0f" 
    android:duration="@android:integer/config_longAnimTime"/> 

ぼかしUI

+0

ご回答ありがとうございます。しかし、[this](http://stackoverflow.com/questions/12590664/what-does-offsetleftandright-exactly-do)によるとoffsetTopAndBottomはあなたの言うものと同じではありません。 –

3

offsetLeftAndRight()を作成しoffsetTopAndBottom()setTranslationX()setTranslationYデフォルト値は0

一つの結果である、レイアウト結果の上部にオフセットadditionnalを追加しながら、レイアウトパスの結果を変化させますleftAndRight/TopAndBottomオフセットがすべてのレイアウトパスでリセットされるということです(例: requestLayout()によってトリガーされます)。

私の理解では、setTranslationX()setTranslationYは、レイアウトの結果を微調整するための一般的な方法でありながらoffsetLeftAndRight()offsetTopAndBottom()は、あなたがあなた自身のレイアウトを作成する場合は、主に有用であることです。

関連する問題