仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)

效果图如下:

仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)_第1张图片


仿微信、短信、来电未接数目、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)。这种实现方式主要有两种途径:(1)重写View的onDraw()。(2)写布局文件实现。现在使用布局文件实现,主要利用FrameLayout的布局覆盖特性实现上述功能。随意一个图片,本例中以eclipse自动产生的ic_luancher.png(就是Android小机器人)图片为例。将ic_launcher作为一个ImageView的src。将此ImageView处理成圆角图(不是本例的重点)。再写一个FrameLayout,内部嵌套一个TextView,此TextView以一个红色圆作为背景。


layout目录下的 round_corner_imageview.xml :


[html]  view plain copy
  1. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     android:layout_width="wrap_content"  
  3.     android:layout_height="wrap_content"  
  4.       
  5.     android:padding="3dip" >  
  6.   
  7.      <ImageView  
  8.         android:layout_marginTop="10dip"  
  9.         android:layout_marginLeft="10dip"  
  10.         android:layout_marginRight="10dip"  
  11.            
  12.         android:id="@+id/imageView"  
  13.         android:layout_width="wrap_content"  
  14.         android:layout_height="wrap_content"   
  15.         android:src="@drawable/ic_launcher"  
  16.         android:background="@drawable/round" />  
  17.   
  18.     <FrameLayout   
  19.         android:layout_gravity="right"  
  20.         android:layout_width="wrap_content"  
  21.         android:layout_height="wrap_content" >  
  22.   
  23.         <TextView  
  24.               
  25.             android:layout_width="25dip"  
  26.             android:layout_height="25dip"  
  27.             android:background="@drawable/tips_circle"  
  28.             android:gravity="center"  
  29.             android:text="5"  
  30.             android:textSize="15dip"  
  31.             android:textStyle="bold"  
  32.             android:textColor="@android:color/white" />  
  33.     </FrameLayout>  
  34.   
  35. </FrameLayout>  


drawable目录下(1)round.xml,(2)tips_circle.xml


round.xml

[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.       
  4.     <!-- 背景填充颜色值 -->  
  5.     <solid android:color="#FFA500" />  
  6.       
  7.     <!-- radius值越大,越趋于圆形 -->  
  8.     <corners android:radius="20dip" />  
  9.       
  10.     <!-- 圆角图像内部填充四周的大小 ,将会以此挤压内部布置的view -->  
  11.     <padding  
  12.         android:bottom="3dip"  
  13.         android:left="3dip"  
  14.         android:right="3dip"  
  15.         android:top="3dip" />  
  16.   
  17. </shape>  


tips_circle.xml

[html]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <shape  
  3.     xmlns:android"http://schemas.android.com/apk/res/android"  
  4.     android:shape"oval"  
  5.     android:useLevel"false" >  
  6.     <solid android:color"#FF0000" />  
  7. </shape>  


你可能感兴趣的:(android,布局)