Android 實現圓角邊框對話框實現

cjlcjl84 7年前發布 | 11K 次閱讀 安卓開發 Android開發 移動開發

最近項目美工搞了個圓角邊框的對話框設計圖,查了網上很多種實現,都差不多,從中得到靈感,實現了另一種方式,利用layer-list:

首先在drawable目錄下定義好圓角背景文件dialog_corner_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
  <shape android:shape="rectangle">
    <solid android:color="@color/dark_green" /> 
    <corners android:radius="6dp" /> <!--弧度 --> 
  </shape> 
</item> 
<item android:top="8dp" android:right="8dp" android:left="8dp" android:bottom="8dp"> <!--邊框寬度 --> 
  <shape android:shape="rectangle"> 
    <solid android:color="@color/white"/> 
    <corners android:radius="6dp" /> 
    <padding android:bottom="8dp" android:left="8dp" android:right="8dp" android:top="8dp"/> 
  </shape>
</item>
</layer-list>

在styles.xml 文件中定義對話框主題樣式

<style name="myCorDialog" parent="android:style/Theme.Dialog"> 
  <item name="android:windowBackground">@drawable/dialog_corner_bg</item> <!-- 背景透明 --> 
  <item name="android:windowNoTitle">true</item> <!-- 沒有標題 --> 
  <item name="android:backgroundDimEnabled">true</item> <!-- 背景模糊 --> 
</style>

實例化對話框builder時指定樣式即可

AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.myCorDialog);

效果:

 

來自:http://www.jianshu.com/p/65b0df8c06d5

 

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