国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android開發(fā)之利用Activity實現(xiàn)Dialog對話框

2019-12-12 04:24:57
字體:
供稿:網(wǎng)友

前言

在Android中經(jīng)常要使用Dialog來實現(xiàn)一些提示以及一些特殊的效果,而且樣式也不一樣,每次都得查一大堆資料,還不一定能解決。對話框是個好東西,創(chuàng)建簡單有實用。當(dāng)下的開發(fā)中,很多的開發(fā)者反而更喜歡使用activity來代替對話框,至少筆者的團(tuán)隊中,類似于升級提示或者指示頁及其他一些交互的地方,大量的把Dialog替換成activity,好處是顯而易見的,activity具有更靈活的操作和布局,另外很重要一點是,一些容易涉及內(nèi)存泄漏的代碼放在activity中執(zhí)行比放在Dialog中執(zhí)行要好的多,當(dāng)然這是筆者自己的觀點,文中有不對的地方,歡迎大家提出指正,好讓筆者及時改正,共同學(xué)習(xí)。

先上效果圖:

實現(xiàn)方法

這個對話框常常能在一些APP中遇到,首先是布局:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="300dp" android:layout_height="400dp" android:layout_gravity="center" android:background="@drawable/popup_bg" android:orientation="vertical" tools:context="com.yankee.september_2.MainActivity"> <LinearLayout  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:layout_above="@+id/btn_update"  android:layout_marginBottom="24dp"  android:layout_marginLeft="20dp"  android:layout_marginRight="20dp"  android:orientation="vertical">  <TextView   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:layout_gravity="center_horizontal"   android:text="Version"   android:textColor="#53BAF8"   android:textSize="14sp" />  <ScrollView   android:layout_width="match_parent"   android:layout_height="100dp"   android:layout_gravity="center_horizontal"   android:layout_marginTop="12dp">   <TextView    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="Nowadays, when it comes to the issues of robots, individuals' opinions vary from person to person。 Some people believe that robots will enlighten our life, while other are worried about that they will ruin the whole world。 As I see, the increasing number of robots has the power to alter everything in the coming future entirely。"    android:textColor="#404040"    android:textSize="12sp" />  </ScrollView> </LinearLayout> <Button  android:id="@+id/btn_update"  android:layout_width="130dp"  android:layout_height="32dp"  android:layout_alignParentBottom="true"  android:layout_centerHorizontal="true"  android:layout_marginBottom="16dp"  android:background="@color/colorAccent"  android:gravity="center"  android:text="Update now"  android:textColor="#FFFFFF"  android:textSize="14sp" /></RelativeLayout>

布局代碼中需要注意的是,這個布局的大小是寫死的,因為從代碼中可以看出,對話框的鏤空效果其實是一張背景圖產(chǎn)生的,辛苦美術(shù)但是爽了程序員。

第二步:接著就是在manifest文件的操作了,把對應(yīng)的activity的theme設(shè)置為自定義的主題即可,背景設(shè)為透明,去掉標(biāo)題,注意,這個主題繼承自對話框的主題。

manifest:

<activity android:name=".MainActivity" android:screenOrientation="portrait" android:theme="@style/TipDialog"></activity>

styles.xml:

<style name="TipDialog" parent="@android:style/Theme.Dialog"> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@android:color/transparent</item></style>

最后就沒有最后了,還有一點,就是讓當(dāng)前這個activity繼承自Activity,而不是AppCompatActivity,否則會報主題的錯誤。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄冈市| 玛多县| 怀宁县| 恩平市| 南涧| 浑源县| 棋牌| 南澳县| 谷城县| 泾源县| 襄樊市| 南丹县| 页游| 黑水县| 奇台县| 怀仁县| 永吉县| 平邑县| 靖西县| 杭锦旗| 墨江| 赤壁市| 遵义市| 迁安市| 宝兴县| 大洼县| 镇沅| 准格尔旗| 平潭县| 浦北县| 磴口县| 永修县| 桃江县| 若尔盖县| 昆明市| 杭锦旗| 杭锦旗| 南昌县| 富源县| 林芝县| 周至县|