Android 自定义PopupWindow

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               
Android-自定义PopupWindow

2014年5月12日 
 PopupWindow在应用中应该是随处可见的,很常用到,比如在旧版本的微信当中就用到下拉的PopupWindow,那是自定义的。新版微信5.2的ActionBar,有人已经模仿了它,但微信具体是使用了ActionBar还是其他的笔者倒是不太清楚,本篇博客主要介绍如何自定义一个PopupWindow来供自己在开发应用时使用。因为笔者最近在开发一款应用时用到这个知识点,所以自己实现了类似新版微信的效果。
 效果图如下:
 

 



首先从布局开始
/14_CustomPopupWindow/res/layout/activity_swipe.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/animation_layout_content"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:clickable="true"    android:orientation="vertical" >    <RelativeLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:background="@drawable/abc_ab_bottom_solid_dark_holo"        android:padding="12dip" >        <LinearLayout            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignParentLeft="true"            android:gravity="center"            android:orientation="horizontal" >            <ImageView                android:layout_width="30dp"                android:layout_height="30dp"                android:src="@drawable/ic_launcher" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_marginLeft="10dip"                android:text="任务系统"                android:textColor="@color/lightgray"                android:textSize="18sp" />        </LinearLayout>        <LinearLayout            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignParentRight="true"            android:gravity="center"            android:orientation="horizontal" >            <Button                android:id="@+id/btnSearch"                android:layout_width="30dp"                android:layout_height="30dp"                android:layout_marginRight="20dip"                android:background="@drawable/actionbar_search_icon"                android:visibility="gone" />            <Button                android:id="@+id/btnAdd"                android:layout_width="30dp"                android:layout_height="30dp"                android:layout_marginRight="20dip"                android:background="@drawable/actionbar_add_icon" />            <Button                android:id="@+id/btnSet"                android:layout_width="30dp"                android:layout_height="30dp"                android:background="@drawable/actionbar_more_icon" />        </LinearLayout>    </RelativeLayout></LinearLayout>

/14_CustomPopupWindow/res/layout/add_popup_dialog.xml
  1. <code class="language-html"><?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="wrap_content"  
  5.     android:gravity="center_horizontal"  
  6.     android:orientation="vertical" >  
  7.   
  8.     <LinearLayout  
  9.         android:id="@+id/pop_layout2"  
  10.         android:layout_width="fill_parent"  
  11.         android:layout_height="wrap_content"  
  12.         android:layout_alignParentRight="true"  
  13.         android:layout_alignParentTop="true"  
  14.         android:background="@drawable/abc_ab_bottom_solid_dark_holo"  
  15.         android:gravity="center_horizontal"  
  16.         android:orientation="vertical" >  
  17.   
  18.         <LinearLayout  
  19.             android:id="@+id/add_task_layout"  
  20.             android:layout_width="fill_parent"  
  21.             android:layout_height="wrap_content"  
  22.             android:orientation="horizontal"  
  23.             android:padding="8dp" >  
  24.   
  25.             <ImageView  
  26.                 android:layout_width="35dp"  
  27.                 android:layout_height="35dp"  
  28.                 android:scaleType="fitCenter"  
  29.                 android:src="@drawable/ofm_add_icon" />  
  30.   
  31.             <TextView  
  32.                 android:layout_width="wrap_content"  
  33.                 android:layout_height="fill_parent"  
  34.                 android:layout_marginLeft="10dp"  
  35.                 android:gravity="center"  
  36.                 android:text="添加任务"  
  37.                 android:textColor="@color/white"  
  38.                 android:textSize="15dip" />  
  39.         </LinearLayout>  
  40.   
  41.         <TextView  
  42.             android:layout_width="fill_parent"  
  43.             android:layout_height="0.2dp"  
  44.             android:background="@color/black" />  
  45.   
  46.         <LinearLayout  
  47.             android:id="@+id/team_member_layout"  
  48.             android:layout_width="fill_parent"  
  49.             android:layout_height="wrap_content"  
  50.             android:orientation="horizontal"  
  51.             android:padding="8dp" >  
  52.   
  53.             <ImageView  
  54.                 android:layout_width="35dp"  
  55.                 android:layout_height="35dp"  
  56.                 android:scaleType="fitCenter"  
  57.                 android:src="@drawable/ofm_profile_icon" />  
  58.   
  59.             <TextView  
  60.                 android:layout_width="wrap_content"  
  61.                 android:layout_height="fill_parent"  
  62.                 android:layout_marginLeft="10dp"  
  63.                 android:gravity="center"  
  64.                 android:text="团队成员"  
  65.                 android:textColor="@color/white"  
  66.                 android:textSize="15dip" />  
  67.         </LinearLayout>  
  68.   
  69.     </LinearLayout>  
  70.   
  71. </RelativeLayout></code>  
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:gravity="center_horizontal"    android:orientation="vertical" >    <LinearLayout        android:id="@+id/pop_layout2"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_alignParentRight="true"        android:layout_alignParentTop="true"        android:background="@drawable/abc_ab_bottom_solid_dark_holo"        android:gravity="center_horizontal"        android:orientation="vertical" >        <LinearLayout            android:id="@+id/add_task_layout"            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:orientation="horizontal"            android:padding="8dp" >            <ImageView                android:layout_width="35dp"                android:layout_height="35dp"                android:scaleType="fitCenter"                android:src="@drawable/ofm_add_icon" />            <TextView                android:layout_width="wrap_content"                android:layout_height="fill_parent"                android:layout_marginLeft="10dp"                android:gravity="center"                android:text="添加任务"                android:textColor="@color/white"                android:textSize="15dip" />        </LinearLayout>        <TextView            android:layout_width="fill_parent"            android:layout_height="0.2dp"            android:background="@color/black" />        <LinearLayout            android:id="@+id/team_member_layout"            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:orientation="horizontal"            android:padding="8dp" >            <ImageView                android:layout_width="35dp"                android:layout_height="35dp"                android:scaleType="fitCenter"                android:src="@drawable/ofm_profile_icon" />            <TextView                android:layout_width="wrap_content"                android:layout_height="fill_parent"                android:layout_marginLeft="10dp"                android:gravity="center"                android:text="团队成员"                android:textColor="@color/white"                android:textSize="15dip" />        </LinearLayout>    </LinearLayout></RelativeLayout>



/14_CustomPopupWindow/res/layout/more_popup_dialog.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:gravity="center_horizontal"    android:orientation="vertical" >    <LinearLayout        android:id="@+id/pop_layout"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_alignParentRight="true"        android:layout_alignParentTop="true"        android:background="@drawable/abc_ab_bottom_solid_dark_holo"        android:gravity="center_horizontal"        android:orientation="vertical" >        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:orientation="horizontal"            android:padding="8dp" >            <ImageView                android:layout_width="50dp"                android:layout_height="50dp"                android:src="@drawable/defalt_head" />            <LinearLayout                android:layout_width="fill_parent"                android:layout_height="wrap_content"                android:gravity="left|center_horizontal"                android:orientation="vertical"                android:padding="5dp" >                <TextView                    android:layout_width="fill_parent"                    android:layout_height="wrap_content"                    android:text="wwj"                    android:textColor="@color/white"                    android:textSize="15sp" />                <TextView                    android:layout_width="fill_parent"                    android:layout_height="wrap_content"                    android:text="whatswwj"                    android:textColor="@color/green"                    android:textSize="15sp" />            </LinearLayout>        </LinearLayout>        <TextView            android:layout_width="fill_parent"            android:layout_height="0.2dp"            android:background="@color/black" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:orientation="horizontal"            android:padding="8dp" >            <ImageView                android:layout_width="35dp"                android:layout_height="35dp"                android:scaleType="fitCenter"                android:src="@drawable/ofm_photo_icon" />            <TextView                android:layout_width="wrap_content"                android:layout_height="fill_parent"                android:layout_marginLeft="10dp"                android:gravity="center"                android:text="我的相册"                android:textColor="@color/white"                android:textSize="15sp" />        </LinearLayout>        <TextView            android:layout_width="fill_parent"            android:layout_height="0.2dp"            android:background="@color/black" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:orientation="horizontal"            android:padding="8dp"            android:visibility="gone" >            <ImageView                android:layout_width="35dp"                android:layout_height="35dp"                android:scaleType="fitCenter"                android:src="@drawable/ofm_collect_icon" />            <TextView                android:layout_width="wrap_content"                android:layout_height="fill_parent"                android:layout_marginLeft="10dp"                android:gravity="center"                android:text="我的收藏"                android:textColor="@color/white"                android:textSize="15sp" />        </LinearLayout>        <TextView            android:layout_width="fill_parent"            android:layout_height="0.2dp"            android:background="@color/black" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:orientation="horizontal"            android:padding="8dp"            android:visibility="gone" >            <ImageView                android:layout_width="35dp"                android:layout_height="35dp"                android:scaleType="fitCenter"                android:src="@drawable/ofm_card_icon" />            <TextView                android:layout_width="wrap_content"                android:layout_height="fill_parent"                android:layout_marginLeft="10dp"                android:gravity="center"                android:text="我的银行卡"                android:textColor="@color/white"                android:textSize="15sp" />        </LinearLayout>        <TextView            android:layout_width="fill_parent"            android:layout_height="0.2dp"            android:background="@color/black"            android:visibility="gone" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:orientation="horizontal"            android:padding="8dp" >            <ImageView                android:layout_width="35dp"                android:layout_height="35dp"                android:scaleType="fitCenter"                android:src="@drawable/ofm_setting_icon" />            <TextView                android:layout_width="wrap_content"                android:layout_height="fill_parent"                android:layout_marginLeft="10dp"                android:gravity="center"                android:text="设置"                android:textColor="@color/white"                android:textSize="15sp" />        </LinearLayout>        <TextView            android:layout_width="fill_parent"            android:layout_height="0.2dp"            android:background="@color/black" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:orientation="horizontal"            android:padding="8dp" >            <ImageView                android:layout_width="35dp"                android:layout_height="35dp"                android:scaleType="fitCenter"                android:src="@drawable/ofm_blacklist_icon" />            <Button                android:id="@+id/btn_cancel"                android:layout_width="wrap_content"                android:layout_height="fill_parent"                android:layout_marginLeft="10dp"                android:background="@null"                android:gravity="center"                android:text="退出登录"                android:textColor="@color/white"                android:textSize="15sp" />        </LinearLayout>    </LinearLayout></RelativeLayout>

以上分别是主页面和两个popupWindow布局

下面自定义两个PopupWindow,自己封装自己想要的PopuoWindow,这里只是给

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值