弹出窗口不动如Facebook评论/像弹出窗口做
问题描述:
我想移动和/解雇我的弹出窗口,如Facebook评论一样弹出窗口做。我尝试了自己并搜索,但失败了。你能帮我这么做吗?弹出窗口不动如Facebook评论/像弹出窗口做
我的代码:
int display_width=context.getResources().getDisplayMetrics().widthPixels;
int display_height=context.getResources().getDisplayMetrics().heightPixels;
final PopupWindow popupWindow=new PopupWindow(viewTmp_comment, display_width, display_height-60,true);
popupWindow.setOutsideTouchable(false);
popupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
popupWindow.showAsDropDown(view);
popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
popupWindow.setTouchable(true);
popupWindow.showAtLocation(view, Gravity.CENTER,0,0);
popupWindow.setContentView(view);
popupWindow.getContentView().setOnDragListener(new View.OnDragListener() {
@Override
public boolean onDrag(View view, DragEvent dragEvent) {
switch (dragEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
Toast.makeText(context,"Down",Toast.LENGTH_LONG).show();
popupWindow.dismiss();
break;
// case MotionEvent.ACTION_MOVE:
// Toast.makeText(context,"Up",Toast.LENGTH_LONG).show();
//// popupWindow.dismiss();
// break;
}
return false;
}
});
答
Facebook的对话框上升,所以你必须把它从当前位置转换到顶部
<translate
android:fromYDelta="0%p"
android:toYDelta="-30%p"
android:duration="1000" />
它是关于动画,你应该看看:Android animation
更新: 定义你的风格:例如
<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog"> <item name="android:windowAnimationStyle">@style/MyAnimation.Window</item> </style> <style name="MyAnimation.Window" parent="@android:style/Animation.Activity"> <item name="android:windowExitAnimation">@anim/slide_up</item> </style>
,并设置popupWindow.setAnimationStyle(R.style.DialogTheme)不R.anim
窗口不动了一下 – AAA
你添加动画到您的对话框看法? –
是的,我加入了一些动画,但没有奏效 – AAA