80,349
社区成员
发帖
与我相关
我的任务
分享
public class MainActivity extends Activity {
private Button btn1;// 按钮1
private Button btn2;// 按钮2
private PopupWindow popOne;
private PopupWindow popTwo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
initPopOne();
initPopTwo();
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (popOne.isShowing()) {
popOne.dismiss();
} else {
showPopOne(btn1);
}
if (popTwo.isShowing()) {
popTwo.dismiss();
}
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (popTwo.isShowing()) {
popTwo.dismiss();
} else {
showPopTwo(btn2);
}
if (popOne.isShowing()) {
popOne.dismiss();
}
}
});
}
private void initPopOne() {
TextView tv = new TextView(this);
tv.setText("第一个PopupWindow");
tv.setTextColor(Color.BLUE);
popOne = new PopupWindow(tv, WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT);
}
private void showPopOne(View view) {
popOne.showAsDropDown(view, 0, 0);
}
private void initPopTwo() {
TextView tv = new TextView(this);
tv.setText("第二个PopupWindow");
tv.setTextColor(Color.BLUE);
popTwo = new PopupWindow(tv, WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT);
}
private void showPopTwo(View view) {
popTwo.showAsDropDown(view, 0, 0);
}
}
public class MainActivity extends Activity {
private Button btn1;// 按钮1
private Button btn2;// 按钮2
private PopupWindow popOne;
private PopupWindow popTwo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
initPopOne();
initPopTwo();
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (popOne.isShowing()) {
popOne.dismiss();
} else {
showPopOne(btn1);
}
if (popTwo.isShowing()) {
popTwo.dismiss();
}
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (popTwo.isShowing()) {
popTwo.dismiss();
} else {
showPopTwo(btn2);
}
if (popOne.isShowing()) {
popOne.dismiss();
}
}
});
}
private void initPopOne() {
TextView tv = new TextView(this);
tv.setText("第一个PopupWindow");
tv.setTextColor(Color.BLUE);
popOne = new PopupWindow(tv, WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT);
// popOne.setOutsideTouchable(true);
}
private void showPopOne(View view) {
popOne.showAsDropDown(view, 0, 0);
}
private void initPopTwo() {
TextView tv = new TextView(this);
tv.setText("第二个PopupWindow");
tv.setTextColor(Color.BLUE);
popTwo = new PopupWindow(tv, WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT);
// popTwo.setOutsideTouchable(true);
}
private void showPopTwo(View view) {
popTwo.showAsDropDown(view, 0, 0);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_UP:
if (popOne.isShowing()) {
popOne.dismiss();
}
if (popTwo.isShowing()) {
popTwo.dismiss();
}
break;
default:
break;
}
return true;
}
}
[/quote]
感谢,我一直不知道有TouchEvent的用法,我还打算给全局的layout加一个clicklistener呢...public class MainActivity extends Activity {
private Button btn1;// 按钮1
private Button btn2;// 按钮2
private PopupWindow popOne;
private PopupWindow popTwo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
initPopOne();
initPopTwo();
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (popOne.isShowing()) {
popOne.dismiss();
} else {
showPopOne(btn1);
}
if (popTwo.isShowing()) {
popTwo.dismiss();
}
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (popTwo.isShowing()) {
popTwo.dismiss();
} else {
showPopTwo(btn2);
}
if (popOne.isShowing()) {
popOne.dismiss();
}
}
});
}
private void initPopOne() {
TextView tv = new TextView(this);
tv.setText("第一个PopupWindow");
tv.setTextColor(Color.BLUE);
popOne = new PopupWindow(tv, WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT);
// popOne.setOutsideTouchable(true);
}
private void showPopOne(View view) {
popOne.showAsDropDown(view, 0, 0);
}
private void initPopTwo() {
TextView tv = new TextView(this);
tv.setText("第二个PopupWindow");
tv.setTextColor(Color.BLUE);
popTwo = new PopupWindow(tv, WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT);
// popTwo.setOutsideTouchable(true);
}
private void showPopTwo(View view) {
popTwo.showAsDropDown(view, 0, 0);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_UP:
if (popOne.isShowing()) {
popOne.dismiss();
}
if (popTwo.isShowing()) {
popTwo.dismiss();
}
break;
default:
break;
}
return true;
}
}