首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

2011.07.05(二)——— android PopupWindow

2012-09-21 
2011.07.05(2)——— android PopupWindow2011.07.05(2)——— android PopupWindow参考:http://www.eoeandroid.

2011.07.05(2)——— android PopupWindow
2011.07.05(2)——— android PopupWindow

参考:http://www.eoeandroid.com/thread-48051-1-1.html
http://disanji.net/2010/12/08/android-popupwindow-2/
http://www.iteye.com/topic/604462

1、新写一个layout文件 作为popupwindow的布局文件

<?xml version="1.0" encoding="utf-8"?>  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:layout_width="fill_parent"     android:layout_height="fill_parent"      android:orientation="vertical"    android:gravity="center"    android:background="#c0000000">     <LinearLayout     android:layout_width="wrap_content"     android:layout_height="wrap_content"      android:orientation="vertical"    android:gravity="center"    android:background="@drawable/popupwindow">     <LinearLayout     android:layout_width="fill_parent"          android:layout_height="wrap_content"        android:gravity="center"        android:layout_margin="5dip">            <TextView     android:text="课程:"    android:layout_width="wrap_content"         android:layout_height="wrap_content"    />     <EditText     android:id="@+id/popupwindow_class"          android:layout_width="200dip"         android:layout_height="wrap_content"        />    </LinearLayout>    <LinearLayout     android:layout_width="fill_parent"          android:layout_height="wrap_content"         android:gravity="center">          <Button         android:text="添加"         android:id="@+id/popupwindow_add"              android:layout_width="wrap_content"             android:layout_height="wrap_content">       </Button>          <Button         android:text="取消"         android:id="@+id/prpupwindow_cancel"              android:layout_width="wrap_content"             android:layout_height="wrap_content">      </Button>      </LinearLayout>      </LinearLayout></LinearLayout> 


2、布局文件当中 android:background="@drawable/popupwindow" 的边框圆角背景

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"        android:shape="rectangle">        <gradient         android:startColor="#c0000000"         android:endColor="#c0000000"            android:angle="90" /><!--背景颜色渐变 -->        <stroke         android:dashWidth="2dp"         android:dashGap="2dp"            android:width="2dp"             android:color="#FF00ff00"></stroke>        <!--描边 -->        <corners         android:bottomRightRadius="5dp"            android:bottomLeftRadius="5dp"             android:topLeftRadius="5dp"            android:topRightRadius="5dp" /><!--设置圆角--></shape>


3、显示popupwindow时的动态效果
res/anim/popuwindow.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <scale android:interpolator="@android:anim/accelerate_decelerate_interpolator"        android:fromXScale="0.0"         android:toXScale="1.0"         android:fromYScale="0.0"        android:toYScale="1.0"         android:pivotX="50%"         android:pivotY="50%"        android:fillAfter="true"         android:duration="3000" /> <alpha         android:fromAlpha="0.0"         android:toAlpha="1.0"         android:duration="3000" /></set>


4、代码
/**     * 添加课程的popupwindow     * @param v     */    private void initPopupWindow(View v){        final View view = this.getLayoutInflater().inflate(R.layout.popupwindow, null);        popupWindow = new PopupWindow(view, LayoutParams.FILL_PARENT,                LayoutParams.FILL_PARENT, true);        Button btnOK=(Button)view.findViewById(R.id.popupwindow_add);        btnOK.setOnClickListener(new OnClickListener(){            public void onClick(View v) {                EditText et=(EditText)view.findViewById(R.id.popupwindow_class);                。。。。。。//一些处理        });       //Cancel按钮及其处理事件        Button btnCancel=(Button)view.findViewById(R.id.prpupwindow_cancel);        btnCancel.setOnClickListener(new OnClickListener(){            public void onClick(View v) {                popupWindow.dismiss();//关闭            }        });        popupWindow.setBackgroundDrawable(new BitmapDrawable());        popupWindow.showAtLocation(v, Gravity.CENTER, 0, 0);        popupWindow.setAnimationStyle(R.anim.popupwindow);            }

热点排行