01
package
com.android.wei.popupwindow;
02
import
android.app.Activity;
03
import
android.app.Dialog;
04
import
android.content.Context;
05
06
import
android.os.Bundle;
07
import
android.view.Gravity;
08
import
android.view.LayoutInflater;
09
import
android.view.View;
10
import
android.view.View.OnClickListener;
11
import
android.view.animation.AnimationUtils;
12
13
import
android.widget.Button;
14
import
android.widget.PopupWindow;
15
import
android.widget.ViewFlipper;
16
17
public
class
MyActivity
extends
Activity
implements
OnClickListener{
18
private
Button popupButton;
19
private
Button dialogButton;
20
private
LayoutInflater layoutInflater;
21
private
ViewFlipper viewFilpper;
22
public
void
onCreate(Bundle savedInstanceState) {
23
super
.onCreate(savedInstanceState);
24
setContentView(R.layout.main);
25
popupButton = (Button)
this
.findViewById(R.id.button1);
26
dialogButton = (Button)
this
.findViewById(R.id.button2);
27
popupButton.setOnClickListener(
this
);
28
dialogButton.setOnClickListener(
this
);
29
}
30
31
public
void
onClick(View v) {
32
Context context = MyActivity.
this
;
33
34
if
(v.getId()==R.id.button1){
35
36
layoutInflater = LayoutInflater.from(context);
37
PopupWindow popup=
new
PopupWindow(MyActivity.
this
);
38
View popView = layoutInflater.inflate(R.layout.popupwindow,
null
);
39
popup.setContentView(popView);
40
41
viewFilpper = (ViewFlipper) popView.findViewById(R.id.viewFlipper);
42
popup.setAnimationStyle(R.anim.popupmenu);
43
viewFilpper.setInAnimation(AnimationUtils.loadAnimation(context, R.anim.menu_in));
44
viewFilpper.setOutAnimation(AnimationUtils.loadAnimation(context, R.anim.menu_out));
45
viewFilpper.setFlipInterval(
60000
);
46
popup.setFocusable(
true
);
47
popup.setWidth(
120
);
48
popup.setHeight(
80
);
49
popup.showAtLocation(MyActivity.
this
.findViewById(R.id.button1), Gravity.CENTER,
0
,
0
);
50
51
viewFilpper.startFlipping();
52
53
54
}
55
if
(v.getId()==R.id.button2){
56
layoutInflater = LayoutInflater.from(context);
57
Dialog dialog =
new
Dialog(MyActivity.
this
);
58
View popView = layoutInflater.inflate(R.layout.popupwindow,
null
);
59
dialog.setContentView(popView);
60
dialog.setCancelable(
true
);
61
viewFilpper = (ViewFlipper) popView.findViewById(R.id.viewFlipper);
62
viewFilpper.setInAnimation(AnimationUtils.loadAnimation(context, R.anim.menu_in));
63
viewFilpper.setOutAnimation(AnimationUtils.loadAnimation(context, R.anim.menu_out));
64
viewFilpper.setFlipInterval(
60000
);
65
dialog.show();
66
viewFilpper.startFlipping();
67
68
}
69
70
}
71
}