当我按下按钮开始时,我需要得到这个:
:
所以,我有滑动抽屉,我需要通过点击开始按钮动画。如您所见,滑动抽屉的上下文包含搜索栏和3个按钮。当用户点击开始按钮动画应该开始应该隐藏按钮。
我的xml文件如下所示:
<SlidingDrawer
android:id="@+id/slidingDrawer1"
android:layout_width="match_parent"
android:layout_height="140dp"
android:layout_alignParentBottom="true"
android:layout_x="3dp"
android:layout_y="374dp"
android:content="@+id/content"
android:handle="@+id/handle" >
<Button
android:id="@+id/handle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Handle" />
<RelativeLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="84dp" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="47dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:background="@drawable/bcg9" >
<Button
android:id="@+id/button1"
android:layout_width="106.6dp"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginTop="0dp"
android:background="@drawable/rev" />
<Button
android:id="@+id/button2"
android:layout_width="106.6dp"
android:layout_height="match_parent"
android:layout_marginTop="0dp"
android:background="@drawable/pause" />
<Button
android:id="@+id/button3"
android:layout_width="106.6dp"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_marginTop="0dp"
android:layout_toRightOf="@+id/button2"
android:layout_weight="1"
android:background="@drawable/forv" />
</LinearLayout>
<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="11dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@null"
android:progressDrawable="@drawable/seekbar_progress"
android:thumb="@drawable/thumb_drawable" />
</RelativeLayout>
</SlidingDrawer>
<SeekBar
android:id="@+id/seekBar2"
android:layout_width="match_parent"
android:layout_height="15px"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="62dp"
android:maxHeight="3dp"
android:progressDrawable="@drawable/seekbar_progress"
android:thumb="@drawable/thumb_drawable" />
<Button
android:id="@+id/animate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="start" />
</RelativeLayout>
我尝试使用翻译动画但是当我点击开始按钮滑动抽屉下降时,实际上它就消失了。
int topOfsd = getWindowManager().getDefaultDisplay().getHeight()-sd.getHeight();
Animation animation = new TranslateAnimation(0, 0,topOfsd,topOfsd-100);
animation.setDuration(1000);
animation.setFillAfter(true);
sd.startAnimation(animation);
sd.setVisibility(0);
怎么可以这样做?
答案 0 :(得分:1)
如果使用findViewById获取SlidingDrawer的句柄 您只需调用animateOpen和animateClose函数即可。 http://developer.android.com/reference/android/widget/SlidingDrawer.html#animateOpen()
如果您不希望滑动抽屉完全打开,只需将高度设置为蘸水即可。
答案 1 :(得分:0)
我设法用属性动画来解决这个问题。
Display display = getWindowManager().getDefaultDisplay();
int y = display.getHeight();
android.widget.SlidingDrawer sd;
sd = (android.widget.SlidingDrawer)findViewById(R.id.slidingDrawer1);
sd.animate().translationY(someValue);