在Android中經常會遇到需要使用Dialog風格彈出框的activity,首先我們可能會首先想到的是在XML布局文件中設置android:layout_height="wrap_content"屬性,讓activity的高度自適應,顯然這還不行,我們還需要為其DialogActivity設置自定義一個樣式
<style name="dialogstyle"> <!--設置dialog的背景--> <item name="android:windowBackground">@android:color/transparent</item> <!--設置Dialog的windowFrame框為無--> <item name="android:windowFrame">@null</item> <!--設置無標題--> <item name="android:windowNoTitle">true</item> <!--是否浮現在activity之上--> <item name="android:windowIsFloating">true</item> <!--是否半透明--> <item name="android:windowIsTranslucent">true</item> <!--設置窗口內容不覆蓋--> <item name="android:windowContentOverlay">@null</item> <!--設置動畫,在這里使用讓它繼承系統的Animation.Dialog--> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <!--背景是否模糊顯示--> <item name="android:backgroundDimEnabled">true</item> </style>
然后在AndroidManifest.xml中設置DialogActivity的樣式為我們自定義的dialogstyle

如下是布局的代碼
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="65dp" android:orientation="horizontal" android:paddingLeft="@dimen/acitvity_margin" android:paddingRight="@dimen/acitvity_margin"> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" android:text="上班時間:" android:textColor="@color/grey" android:textSize="@dimen/size_text_medium" /> <Button android:id="@+id/tv_signin_time" android:layout_width="wrap_content" android:layout_height="match_parent" android:background="@color/white" android:gravity="center" android:text="9:00" android:textColor="@color/grey" android:textSize="@dimen/size_text_medium" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" android:text="下班時間:" android:textColor="@color/grey" android:textSize="@dimen/size_text_medium" /> <Button android:id="@+id/tv_signout_time" android:layout_width="wrap_content" android:layout_height="match_parent" android:background="@color/white" android:gravity="center" android:text="18:00" android:textColor="@color/grey" android:textSize="@dimen/size_text_medium" /> </LinearLayout> </LinearLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="65dp" android:paddingLeft="@dimen/acitvity_margin" android:paddingRight="@dimen/acitvity_margin"> <TextView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:gravity="center" android:text="公司位置:" android:textColor="@color/grey" android:textSize="@dimen/size_text_medium" /> <EditText android:id="@+id/et_address" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="2dp" android:layout_toRightOf="@+id/tv_address" android:background="@color/white" android:hint="請輸入公司位置" android:singleLine="true" android:textSize="@dimen/size_text_small" /> <TextView android:id="@+id/tv_location" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerInParent="true" android:gravity="center" android:padding="5dp" android:text="重新定位" android:textColor="@color/blue" android:textSize="@dimen/size_text_medium" /> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="65dp" android:paddingLeft="@dimen/acitvity_margin" android:paddingRight="@dimen/acitvity_margin"> <TextView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:gravity="center" android:text="設置管理員:" android:textColor="@color/grey" android:textSize="@dimen/size_text_medium" /> <ImageView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentRight="true" android:gravity="center" android:src="@mipmap/icon_toright" /> </RelativeLayout></LinearLayout>
接下來我們再看一下效果圖是不是我們想要的呢

源碼下載:http://xiazai.VeVB.COm/201609/yuanma/DialogActivity(VeVB.COm).rar
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答