Android中創建圓角的DialogActivity

myboxcpy 8年前發布 | 26K 次閱讀 安卓開發 Android開發 移動開發

摘要 在安卓開發中我們多多少少都會使用到DialogActivity,但是系統自帶的效果往往不盡如人意,一般都是下面這種效果,所以我們在使用時都會很蛋疼,最近在做項目需要用到圓角的DialogActivity,所以就參考網上資料,做了一個自己風格的圓角DialogActivit。

 

前言

在安卓開發中我們多多少少都會使用到DialogActivity,但是系統自帶的效果往往不盡如人意,一般都是下面這種效果,所以我們在使用時都會很蛋疼,最近在做項目需要用到圓角的DialogActivity,所以就參考網上資料,做了一個自己風格的圓角DialogActivit。

示例圖

示例圖如下,是不是很有蘋果風呢?其實在這個基礎上大家可以定制成自己風格的DialogActivity

實現

1.首先設置DialogActivity最外層的的layout背景為一個自定義背景,自定義背景如下:

dialog_theme.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- 填充顏色 -->
    <solid android:color="#ffffffff" />

    <!-- 邊框寬度 -->
    <!-- <stroke android:width="3dp" /> -->


    <!-- 圓角半徑 -->
    <corners android:radius="10dp" />

    <!-- 內邊距 -->
    <padding
        android:bottom="13dp"
        android:left="13dp"
        android:right="13dp"
        android:top="13dp" />

</shape>

2.然后自定義Activity的style為如下:

<style name="DialogTheme" parent="@android:style/Theme.Dialog">

    <!-- 邊框 -->
    <item name="android:windowFrame">@null</item>
    <!-- 是否浮現在activity之上 -->
    <item name="android:windowIsFloating">true</item>
    <!-- 半透明 -->
    <item name="android:windowIsTranslucent">false</item>
    <!-- 無標題 -->
    <item name="android:windowNoTitle">true</item>
    <!-- 背景透明 -->
    <item name="android:windowBackground">@android:color/transparent</item>
    <!-- 模糊 -->
    <item name="android:backgroundDimEnabled">false</item>
</style>

Demo

1.Demo效果圖

2.代碼地址 https://github.com/ryanlijianchang/DialogActivityDemo

來源:http://my.oschina.net/ryaneLee/blog/670120?fromerr=5WHvlXG6

 本文由用戶 myboxcpy 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!