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);

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

(0)

相关推荐

  • android layout 按比例布局的代码

    为了创建比例大小的子View,可以将LinearLayout的宽度和高度设为fill_parent, 而将子View的宽度或是高度设为0,然后为子View设置不同权重(weight) ,这样子View的大小就会权值成比例. 本例使用横向LinearLayout,LinearLayout的android:layout_width="match_parent",表示将使用整个屏幕宽度. 对于LinearLayout的几个子View,将它们的宽度都定义为0,android:layout_wi

  • Android编程实现圆角边框的方法

    本文实例讲述了Android编程实现圆角边框的方法.分享给大家供大家参考,具体如下: 设置边框圆角可以在drawable-mdpi目录里定义一个xml: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="

  • android动态布局之动态加入TextView和ListView的方法

    本文实例讲述了android动态布局之动态加入TextView和ListView的方法.分享给大家供大家参考.具体实现方法如下: package org.guoshi; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.guoshi.adapter.ImageAndTextAdapter; import android.app.

  • Android布局实现圆角边框效果

    首先,在res下面新建一个文件夹drawable,在drawable下面新建三个xml文件:shape_corner_down.xml.shape_corner_up.xml和shape_corner.xml,分别是下面两个角是圆角边框,上面两个角是圆角边框,四个角全部是圆角边框. shape_corner_down.xml: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android=&

  • android Activity相对布局的使用方法

    相对布局要比前面讲的线性布局和表格布局要灵活一些,所以平常用得也是比较多的.相对布局控件的位置是与其周围控件的位置相关的,从名字可以看出来,这些位置都是相对的,确定出了其中一个控件的位置就可以确定另一个控件的位置了.本次实验就是显示如下的activity: 其中只有2个button,1个textview,1个edittext. 在相对布局中,一般用到的控件属性解释如下:在相对布局中有如下属性,解释如下:android:layout_above  为将该控件的底部放在指定id控件的上方androi

  • Android编程实现圆角边框布局效果的方法

    本文实例讲述了Android编程实现圆角边框布局效果的方法.分享给大家供大家参考,具体如下: 这里用的是TableLayout布局的.先看效果图 下面看下布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android" android:layout_width=&

  • Android应用借助LinearLayout实现垂直水平居中布局

    首先说的是LinearLayout布局下的居中一般是这样的: (注意:android:layout_width="fill_parent" android:layout_height="fill_parent" 属性中,若水平居中,至少在宽度上占全屏:若垂直居中,则在高度上占全屏) <LinearLayout android:layout_width="fill_parent" android:layout_height="fil

  • android动态加载布局文件示例

    一.布局文件part.xml: 复制代码 代码如下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="

  • Android中RecyclerView布局代替GridView实现类似支付宝的界面

    单纯使用GridView 通用的两种给GridView 添加分割线的方法:http://stackoverflow.com/questions/7132030/android-gridview-draw-dividers 给Gridview 添加分割线,也就是实现网格布局,不清楚谷歌为什么没有给Gridview 添加一个类似 ListView 的Divider 属性,因此就需要我们自己去添加分割线, 目前两种方法,第一种是 利用GridView 的  android:horizontalSpac

  • Android 圆角边框的实现方式汇总

    首先我将贴出几种实现圆角边框的dmeo程序效果图: 方式一:使用shape元素填充背景,设置圆角/带弧度的角 1.首先在 \res\drawable下新建Shape为根元素的资源文件:corners_bg.xml, 代码如下: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android&quo

  • Android TabLayout(选项卡布局)简单用法实例分析

    本文实例讲述了Android TabLayout(选项卡布局)简单用法.分享给大家供大家参考,具体如下: 我们在应用viewpager的时候,经常会使用TabPageIndicator来与其配合.达到很漂亮的效果.但是TabPageIndicator是第三方的,而且比较老了,当然了现在很多大神都已经开始自己写TabPageIndicator来满足自己的需求,在2015年的google大会上,google发布了新的Android Support Design库,里面包含了几个新的控件,其中就有一个

  • Android RelativeLayout相对布局属性简析

    RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:l

  • FrameLayout和Fragment处理Android应用UI布局实例

    将Fragment与Layout结合使用,一般都是主Activity以frame填充Activity的方式交互管理Fragment : 1.由于用到getSupportFragmentManager()之类,所以主Activity的extends需为FragmentActivity: public class MainActivity extends FragmentActivity{ .......... } 2.主Activity的layout(xml文件)中建立多个Frame并定义其And

随机推荐