動畫意見我有一個coordinatorLayout內的AppBarLayout如下:在AppBarLayout
<coordinatorLayout>
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TabLayout
android:id="@+id/scrollable_category_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:tabGravity="center"
app:tabMode="scrollable" />
<RelativeLayout
android:id="@+id/parent_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="100dp"
android:background="@android:color/white"
android:visibility="visible">
<few more layout/>
</RelativeLayout>
</android.support.design.widget.AppBarLayout>
<more views>
</coordinatorLayout>
我希望RelativeLayout的被默認爲隱藏,如果API給一個特定的響應,那麼我將展示的RelativeLayout其內容。內容可以根據API響應而具有不同的高度(例如,文本可以是單行或多行等)。所以我不知道開始時的觀點的高度。現在,我想將translationY應用於視圖,以便它看起來是來自tabLayout下方的(顯示陰影等)。
我已經嘗試了許多解決方案,其中之一是:
adParentLayout.animate()
.translationY(0)
.setDuration(5000)
.withEndAction(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, "Animation Complete", Toast.LENGTH_SHORT).show();
}
})
.withStartAction(new Runnable() {
@Override
public void run() {
adParentLayout.setVisibility(View.VISIBLE);
adParentLayout.setTranslationY(-adParentLayout.getHeight());
}
});
這顯然是行不通的。我對動畫不太瞭解,並希望提出建議。
我試過的一個解決方案是使視圖在佈局中可見,然後應用翻譯。但是這使得視圖在TabLayout上方完全覆蓋它。事實證明,AppBarLayout擴展了LinearLayout,所以第二個佈局RelativeLayout在它上面進行了翻譯。我不明白如何實現這種效果,任何正確方向的投入都會有所幫助。