Android使用Dialog風格彈出框的Activity_Android

來源:互聯網
上載者:User

在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.jb51.net/201609/yuanma/DialogActivity(jb51.net).rar

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.