popupWindow就是弹窗
首先在布局写个按钮,点击事件里进行弹窗
tv.setOnClickListener(new OnClickListener() {
private PopupWindow popupWindow;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//布局加载器
LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
View view = inflater.inflate(R.layout.popitem, null);
//加载布局内组件
LinearLayout llist = (LinearLayout) view.findViewById(R.id.llist);
LinearLayout lgrip = (LinearLayout) view.findViewById(R.id.lgrip);
//设置listview组件点击事件
llist.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//跳转
Intent intent = new Intent(MainActivity.this,ListActivity.class);
startActivity(intent);
//弹窗消失
popupWindow.dismiss();
}
});
//设置gridview组件点击事件
lgrip.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//跳转
Intent intent = new Intent(MainActivity.this,GripActivity.class);
startActivity(intent);
//弹窗消失
popupWindow.dismiss();
}
});
//设置弹窗大小和布局
popupWindow = new PopupWindow(view, 200, 280);
//点击外部消失弹窗
popupWindow.setBackgroundDrawable(new ColorDrawable());
popupWindow.setOutsideTouchable(true);
//显示在哪个布局下,放父组件
popupWindow.showAsDropDown(tv);
}
});
然后来看一下popupwindow的布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/llist"
android:orientation="horizontal"
android:padding="10dp"
android:gravity="center"
>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="listview"
/>
</LinearLayout>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/lgrip"
android:orientation="horizontal"
android:padding="10dp"
android:gravity="center"
>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Gridview"
/>
</LinearLayout>
</LinearLayout>
这样就可以弹窗了!!!