您好,我嘗試製作的動畫有問題。從GONE到VISIBLE的Android可見性不能正常工作
我使用此庫AndroidViewAnimations。
這裏是我的佈局XML代碼:
<Button
android:id="@+id/buttonDetails"
style="@style/Button_Details"/>
<LinearLayout
android:id="@+id/linearLayoutDetails"
android:visibility="gone"
style="@style/LinearLayout_Details">
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/checkbox_clmn_text"
android:checked="true"/>
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/checkbox_clme_text"
android:checked="true"/>
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/checkbox_clmn_text"
android:checked="true"/>
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/checkbox_clmn_text"
android:checked="true"/>
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/checkbox_clmn_text"
android:checked="true"/>
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/checkbox_clmn_text"
android:checked="true"/>
</LinearLayout>
在這裏,我的Java代碼:
// Declare Variables
@ViewById
LinearLayout linearLayoutDetails;
@Click
void buttonDetails() {
// Checks Linear Layout Visibility
if (linearLayoutDetails.getVisibility() == View.GONE) {
// Sets linearLayoutDetails Visibility to VISIBLE
linearLayoutDetails.setVisibility(View.VISIBLE);
// Makes Appear Animation
YoYo.with(Techniques.SlideInDown)
.duration(700)
.playOn(linearLayoutDetails);
} else {
linearLayoutDetails.setVisibility(View.GONE);
}
}
現在的問題是,我第一次按下動畫不能正常使用的按鈕,但之後,每隔一段時間工作。
我做了一些研究,發現問題是我已將可見性設置爲消失,如果將其設置爲隱形,則它將從第一次正常工作。事情是,我不想讓可見性看不見,但因爲我不希望線性佈局在隱藏時佔據空間。
任何想法?
我不是一個期待,但要儘量做動畫之前某處你的LinearLayout調用requestLayout()。 你有YoYo的代碼嗎?看到真實的代碼真是太棒了。 – 2014-10-19 18:09:34
是的我已經嘗試了requestLayout(),但它沒有工作 – user3596163 2014-10-19 18:15:44