我有一个xml-layout,包含两个FrameLayouts(f1和f2)。 F1填充所有屏幕区域,并使用android:layout_marginBottom =“ - 900dp”将f2隐藏在屏幕下方。 布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/llMainLayout"
android:orientation="vertical">
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/f1" android:background="@color/white">
<fragment
android:id="@+id/leftsidefragment"
android:name="de.com.fragments.ChapterDescriptionPageFragment"
android:layout_width="match_parent"
android:layout_height="fill_parent"/>
</FrameLayout>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/flRightWindowPart"
android:background="@android:color/transparent"
android:layout_gravity="bottom">
<fragment
android:id="@+id/f2"
android:name="de.com.fragments.ChapterSubchaptersListFragmentWithHeader"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</FrameLayout>
</FrameLayout>
</LinearLayout>
然后我做翻译动画:f2正在上升。一切都很好,除了一个麻烦 - 动画期间f2是不可见的。构造动画的方法代码:
public Animation constructSlideUpAnimation(boolean inverse){
if (inverse)
return new TranslateAnimation(
Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 900
);
else
return new TranslateAnimation(
Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, -900
);
}
如果您需要其他一些代码块,请编写。 我非常感谢任何帮助。提前谢谢。
答案 0 :(得分:1)
通过添加将第二个片段(f2)的高度设置为值的代码来解决问题,该代码将在完成动画之后
答案 1 :(得分:0)
我不确定,但您必须以毫秒为单位设置动画对象的持续时间。