2. [代码]主类
package com.android.wei.popupwindow;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.PopupWindow;
import android.widget.ViewFlipper;
public class MyActivity extends Activity implements OnClickListener{
private Button popupButton;
private Button dialogButton;
private LayoutInflater layoutInflater;
private ViewFlipper viewFilpper;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
popupButton = (Button) this.findViewById(R.id.button1);
dialogButton = (Button) this.findViewById(R.id.button2);
popupButton.setOnClickListener(this);
dialogButton.setOnClickListener(this);
}
public void onClick(View v) {
Context context = MyActivity.this;
// TODO Auto-generated method stub
if(v.getId()==R.id.button1){
layoutInflater = LayoutInflater.from(context);
PopupWindow popup= new PopupWindow(MyActivity.this);
View popView = layoutInflater.inflate(R.layout.popupwindow, null);
popup.setContentView(popView);
viewFilpper = (ViewFlipper) popView.findViewById(R.id.viewFlipper);
popup.setAnimationStyle(R.anim.popupmenu);
viewFilpper.setInAnimation(AnimationUtils.loadAnimation(context, R.anim.menu_in));
viewFilpper.setOutAnimation(AnimationUtils.loadAnimation(context, R.anim.menu_out));
viewFilpper.setFlipInterval(60000);
popup.setFocusable(true);
popup.setWidth(120);
popup.setHeight(80);
popup.showAtLocation(MyActivity.this.findViewById(R.id.button1), Gravity.CENTER, 0, 0);
viewFilpper.startFlipping();
}
if(v.getId()==R.id.button2){
layoutInflater = LayoutInflater.from(context);
Dialog dialog = new Dialog(MyActivity.this);
View popView = layoutInflater.inflate(R.layout.popupwindow, null);
dialog.setContentView(popView);
dialog.setCancelable(true);
viewFilpper = (ViewFlipper) popView.findViewById(R.id.viewFlipper);
viewFilpper.setInAnimation(AnimationUtils.loadAnimation(context, R.anim.menu_in));
viewFilpper.setOutAnimation(AnimationUtils.loadAnimation(context, R.anim.menu_out));
viewFilpper.setFlipInterval(60000);
dialog.show();
viewFilpper.startFlipping();
}
}
}
3. [代码]主配置文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="@drawable/background"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<ImageButton android:layout_width="wrap_content"
android:background="#00000000"
android:id="@+id/imageView1" android:layout_height="wrap_content" android:src="@drawable/wei" android:layout_gravity="center"/>
<Button android:id="@+id/button1"
android:background="#b0000000"
android:layout_margin="5px"
android:text="弹出PopupWindow" android:layout_height="60px" android:layout_width="fill_parent"></Button>
<Button android:id="@+id/button2"
android:background="#b0000000"
android:layout_margin="5px"
android:text="弹出Dialog" android:layout_height="60px" android:layout_width="fill_parent"></Button>
</LinearLayout>
4. [代码]popupWindow配置文件
<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/viewFlipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal"
android:layout_width="wrap_content" android:gravity="center"
android:layout_height="wrap_content" android:layout_gravity="center"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/deleat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/menu_delete"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="删除"/>
</LinearLayout>
<Button android:id="@+id/speed"
android:layout_width ="wrap_content"
android:layout_height="wrap_content"
android:text="添加"/>
</LinearLayout>
</ViewFlipper>
5. [代码]一点说明
对于Button和ImageButton 还有一些View 设置半透明或者透明都是通过
android:background="#b0000000" 这是就是半透明
android:background="#00000000" 就是全透明
android:background="#FFFFFFFF" 就是不透明
介于中间的可以来自己设置透明度