最近看到新浪微博頂部欄的微博分組效果很炫,從網上查了一些資料明白原來是用PopupWindow實現的,今天自己也寫了一個例子實現了這種效果,希望對大家有幫助。
PopupWindow就是彈出窗口的意思,類似windows下面的開始按鈕。PopupWindow可以實現浮層效果,而且可以自定義顯示位置,出現和退出時的動畫.
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11
首先定義新浪微博的頂部欄,title_two_button.xml和main.xml
- <?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"?>
- <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>
主要是為了實現一個這樣的界面: