我有一個問題,而不是我需要解釋的問題。目前我在我的應用程序中有一個按鈕,允許視圖從工具欄下方向下滑動。在這個視圖中有編輯文本等提供高級搜索功能。在Android中查看動畫
我已經創建了大小爲100dp,頂邊距爲-100dp的視圖。這可以正常工作並隱藏視圖。當我爲下面的視圖製作動畫時,我的問題更爲重要。我以主要觀點「推動」他們。我認爲應該與之匹配,但是我必須將第二個視圖設置爲-30的值才能正確重新對齊。
任何人都可以解釋這一點嗎?
注意 - 這是一個測試佈局
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginTop="-100dp"
android:background="#Fa45"
android:id="@+id/viewtest">
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/contentMain">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Slide Up" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Slide Down"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
這不起作用
通過這也不行,我的意思是,按鈕最終丟失或半當他們滑向另一個角度時切斷。
public void startSlideUpAnimation(View view) {
v.animate().translationY(-400).setInterpolator(new BounceInterpolator()).setDuration(1000);
x.animate().translationY(-400).setInterpolator(new BounceInterpolator()).setDuration(1000);
}
public void startSlideDownAnimation(View view) {
v.animate().translationY(400).setInterpolator(new BounceInterpolator()).setDuration(1000);
x.animate().translationY(400).setInterpolator(new BounceInterpolator()).setDuration(1000);
}
但如果我更改線路:
x.animate().translationY(-400).setInterpolator(new BounceInterpolator()).setDuration(1000);
到
x.animate().translationY(-30).setInterpolator(new BounceInterpolator()).setDuration(1000);
它工作得很好。我在這裏瘋狂或嘲笑數學嗎?
編輯
好,我發現,如果我在兩個視圖它們都相同的方式回到了比賽,回到原籍的集轉換y以0。這對我來說更沒意義,因爲我認爲浮動抵消是它應該返回或翻譯的價值。
有什麼想法?是否將其設置爲零,將其返回到原點或我錯過了一個難題?
我想出了修正,但是你的解釋明顯地闡明瞭事情!非常感謝! – basic