windowPopup用于自定义弹出框,例如从底部弹出。
效果图
1.初始好windowpopup布局
private void initPopup(){
LinearLayout view=(LinearLayout)LayoutInflater.from(this).inflate(R.layout.popup, null);
popup=new PopupWindow(view, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);//windowpoup设置
popup.setFocusable(true);
popup.setAnimationStyle(R.style.popupstyle);//设置popup弹出的动画效果
Button take=(Button)view.findViewById(R.id.take_picture);
take.setTag("take");
// take.setOnClickListener(this);
Button picker=(Button)view.findViewById(R.id.pick_picture);
picker.setTag("picker");
// picker.setOnClickListener(this);
Button cancel=(Button)view.findViewById(R.id.cancel);
cancel.setTag("cancel");
// cancel.setOnClickListener(this);
}
2.在需要弹出的地方使用
popup.showAtLocation(view, Gravity.BOTTOM, 0, 0);
或者
void | showAsDropDown(View anchor, int xoff, int yoff)Display the content view in a popup window anchored to the bottom-left corner of the anchor view offset by the specified x and y coordinates. |
void | showAsDropDown(View anchor)Display the content view in a popup window anchored to the bottom-left corner of the anchor view. |
void | showAtLocation(View parent, int gravity, int x, int y)Display the content view in a popup window at the specified location. |
其它,动画效果代码(从下至上弹出,从上至下消失)
<?xml version="1.0" encoding="utf-8"?>
< set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:toYDelta="100%p"
android:duration="600"
/>
</set>