当前位置:操作系统 > 安卓/Android >>

android弹出窗口的实现(PopupWindow)

 最近看到新浪微博顶部栏的微博分组效果很炫,从网上查了一些资料明白原来是用PopupWindow实现的,今天自己也写了一个例子实现了这种效果,希望对大家有帮助。

         PopupWindow就是弹出窗口的意思,类似windows下面的开始按钮。PopupWindow可以实现浮层效果,而且可以自定义显示位置,出现和退出时的动画.

            首先定义新浪微博的顶部栏,title_two_button.xml和main.xml

       [html] <?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 
 
    <TextView 
        android:id="@+id/tvtitle" 
        android:layout_width="fill_parent" 
        android:layout_height="45dip" 
        android:background="@drawable/search_bg" 
        android:gravity="center" 
        android:text="天堂没有路" 
        android:textColor="@color/black" 
        android:textSize="25dip" /> 
 
    <Button 
        android:id="@+id/btn_title_left" 
        android:layout_width="50dip" 
        android:layout_height="35dip" 
        android:layout_gravity="center_vertical" 
        android:background="@drawable/title_button" 
        android:textColor="@color/white" /> 
 
    <Button 
        android:id="@+id/btn_title_right" 
        android:layout_width="50dip" 
        android:layout_height="35dip" 
        android:layout_gravity="right" 
        android:layout_marginRight="2dip" 
        android:layout_marginTop="4dip" 
        android:background="@drawable/title_button2" 
        android:textColor="@color/white" /> 
 
</FrameLayout> 
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/tvtitle"
        android:layout_width="fill_parent"
        android:layout_height="45dip"
        android:background="@drawable/search_bg"
        android:gravity="center"
        android:text="天堂没有路"
        android:textColor="@color/black"
        android:textSize="25dip" />

    <Button
        android:id="@+id/btn_title_left"
        android:layout_width="50dip"
        android:layout_height="35dip"
        android:layout_gravity="center_vertical"
        android:background="@drawable/title_button"
        android:textColor="@color/white" />

    <Button
        android:id="@+id/btn_title_right"
        android:layout_width="50dip"
        android:layout_height="35dip"
        android:layout_gravity="right"
        android:layout_marginRight="2dip"
        android:layout_marginTop="4dip"
        android:background="@drawable/title_button2"
        android:textColor="@color/white" />

</FrameLayout>[html] <?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:background="@android:color/white" 
    android:orientation="vertical" > 
 
    <include 
        android:id="@+id/top_title" 
        layout="@layout/title_two_button" /> 
 
</LinearLayout> 
<?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:background="@android:color/white"
    android:orientation="vertical" >

    <include
        android:id="@+id/top_title"
        layout="@layout/title_two_button" />

</LinearLayout>
主要是为了实现一个这样的界面:

  \


 

接下来定义弹出对话框的布局文件group_list.xml和group_item_view.xml

[html] <?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:background="@drawable/group_bg" 
    android:orientation="vertical" 
     > 
 
 

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,