我的活动中有一个LinearLayout视图。
当我按下后退按钮时,我希望LinearLayout的孩子们滑出来。
我有以下代码,但没有做任何事情:
<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:animationOrder="reverse"
android:animation="@anim/pop_out"
android:delay="10%" />
layout_pop_out是:
/**
* Runs the layout animation. Calling this method triggers a relayout of
* this view group.
*/
public void startLayoutAnimation() {
if (mLayoutAnimationController != null) {
mGroupFlags |= FLAG_RUN_ANIMATION;
requestLayout();
}
}
我已经注释掉super.OnBackPressed()以查看动画是否开始,并且它不会启动。
有类似问题的人?
如果在按钮中设置onclick Listener,则SlideOut方法可以正常工作,动画播放。 我认为问题是&#34; startLayoutAnimation&#34;,如果调用onBackPressed或OnKeyListener(keyCode == KeyEvent.KEYCODE_BACK&amp;&amp; action == KeyEvent.ACTION_UP)布局动画不播放,但我点击了按下动画片。
let callBackBlock:(DTHTMLElement) -> Void = { element in
for oneChildElement in element.childNodes {
guard let oneChildElement: DTHTMLElement = oneChildElement as? DTHTMLElement else {
return
}
if oneChildElement.displayStyle == .inline && oneChildElement.textAttachment.displaySize.height > 2.0 * oneChildElement.fontDescriptor.pointSize {
oneChildElement.displayStyle = .block;
oneChildElement.paragraphStyle.minimumLineHeight = element.textAttachment.displaySize.height;
oneChildElement.paragraphStyle.maximumLineHeight = element.textAttachment.displaySize.height;
}
}
}
let maxImageSize = CGSize(width: view.bounds.size.width - 20, height: view.bounds.size.height - 20)
return [NSTextSizeMultiplierDocumentOption: NSNumber(floatLiteral: 1.0),
DTMaxImageSize: NSValue(cgSize: maxImageSize),
DTDefaultTextColor: UIColor.white,
DTDefaultFontSize: NSNumber(floatLiteral: 15.0),
DTWillFlushBlockCallBack: callBackBlock]
How can I start layoutAnimation when(before) leaving an activity