popupwindow

来源:互联网 发布:linux安装包 编辑:程序博客网 时间:2024/05/17 06:25

layout    popuwindow.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <TextView        android:id="@+id/groupname"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/group_name"        android:layout_alignBottom="@+id/group_name"        android:layout_alignLeft="@+id/addgroup"        android:text="分组名称:"        android:textSize="17sp" />    <ImageView        android:id="@+id/imageView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_below="@+id/addgroup"        android:layout_marginTop="15dp"        android:src="@drawable/baseline" />    <TextView        android:id="@+id/addgroup"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentTop="true"        android:layout_marginLeft="18dp"        android:layout_toRightOf="@+id/tableRow1"        android:text="添加分组"        android:textSize="25sp" />    <EditText        android:id="@+id/group_name"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentRight="true"        android:layout_below="@+id/imageView1"        android:layout_marginRight="16dp"        android:layout_marginTop="24dp"        android:layout_toRightOf="@+id/textView2"        android:layout_weight="1"        android:ems="10"        android:hint="@string/groupHint"        android:maxLength="10" />    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/textView2"        android:layout_alignRight="@+id/group_name"        android:layout_below="@+id/group_name"        android:layout_marginTop="28dp"        android:gravity="center_horizontal" >        <Button            android:id="@+id/ensure"            android:layout_width="142dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="确定" />        <Button            android:id="@+id/cancel"            android:layout_width="142dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="取消" />    </LinearLayout></RelativeLayout> 


drawable popuwindow_style
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" >        <!-- solid 设置stroke设置的边框以内的颜色 -->    <solid android:color="#ffffff"/>    <!-- stroke主要设置组件的边框。width为边框宽度,color为边框颜色 -->    <stroke android:width="2dp" android:color="#c5c1c1" />    <!-- corners 设置边框四角弧度 -->    <corners android:radius="10dp"/>    <!-- padding主要设置组件里内容距离组件内边框的间距 -->    <padding android:left="3dp" android:top="3dp" android:right="3dp" android:bottom="3dp"/>    </shape>


.java
private class addGroupListerner implements OnClickListener {@SuppressLint("NewApi")@Overridepublic void onClick(View v) {getPopupWindow();PopupWindow.showAsDropDown(v);}}private void getPopupWindow() {if (null != PopupWindow) {PopupWindow.dismiss();return;} else {initPopupWindow();}}private void initPopupWindow() {// 得到屏幕的宽度和高度screenWidth = this.getWindowManager().getDefaultDisplay().getWidth();screenHeight = this.getWindowManager().getDefaultDisplay().getHeight();// 获取自定义布局文件popupwindow.xmlView popupWindow_view = getLayoutInflater().inflate(R.layout.popupwindow, null, false);// 设置其背景popupWindow_view.setBackgroundResource(R.drawable.popupwindow_style);// 创建popupWindow实例PopupWindow = new PopupWindow(popupWindow_view, screenWidth-40,screenHeight/3-20, true);// 获取视图中的按钮与编辑框TextAddName = (TextView)popupWindow_view.findViewById(R.id.addgroup);TextGroupName = (TextView)popupWindow_view.findViewById(R.id.groupname);button_ensure = (Button) popupWindow_view.findViewById(R.id.ensure);button_cancel = (Button) popupWindow_view.findViewById(R.id.cancel);group_name = (EditText) popupWindow_view.findViewById(R.id.group_name);button_ensure.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 设置标签中的内容contextgroupName = group_name.getText().toString().trim();// 取得分组名字Grouplistadapter.addListItem(contextgroupName);PopupWindow.dismiss();}});button_cancel.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {PopupWindow.dismiss();}});}