`
endual
  • 浏览: 3516010 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

自定义dialog 全屏的形式(转)

 
阅读更多

 

继续讨论自定义dialog

 21人阅读 评论(0) 收藏 举报

由于练手用到了一些自定义dialog的小技巧,现和大家一起分享下(基本的设置可以看我之前的博文):

1.自己添加图标和标题(在窗口最上方)

可以完全用xml布局文件实现,

[javascript] view plaincopy
  1. <RelativeLayout  
  2.       xmlns:android="http://schemas.android.com/apk/res/android"  
  3.       android:orientation="horizontal"  
  4.       android:layout_width="wrap_content"  
  5.       android:layout_height="wrap_content">  
  6.         <ImageView   
  7.                 android:id="@+id/iconimage"   
  8.                 android:layout_width="60dp"    
  9.                 android:layout_height="60dp"   
  10.                 android:scaleType="centerInside"//将图标集中缩放至所需宽度和高度  
  11.                 android:src="@drawable/phone_holdon"   
  12.                 android:layout_alignTop="@+id/texttitle"/>   
  13.         <TextView android:text="设置方式"   
  14.                   android:textSize= "25dp"   
  15.                   android:id="@+id/texttitle"   
  16.                   android:layout_width="wrap_content"   
  17.                   android:layout_height="wrap_content"  
  18.                   android:layout_toRightOf="@+id/iconimage"//相对布局 在图标的右边  
  19.                   android:layout_centerInParent="true"//相对于父控件(图标)呈垂直居中  
  20.                   android:layout_marginLeft="16dp">  
  21.         </TextView>  
  22.     </RelativeLayout>  
2.自己添加分割线

 

最简单的就是在布局文件中添加,将已经做好的分割线放在drawable中

 

[javascript] view plaincopy
  1. <ImageView android:layout_width="fill_parent"  
  2.       android:src="@drawable/fenge5" android:layout_height="wrap_content"/>  
非常简单

 

3.我自己定义了图标和标题,如何去掉dialog本身空出的标题行(title bar)?

找了很多方法,最好的方法是用主题去描述对话框,就OK啦,在value中添加一个style.xml:

[javascript] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <style name="dialog" parent="@android:style/Theme.Dialog">  
  4.         <item name="android:windowFrame">@null</item><!-- 去掉对话框边框 -->  
  5.         <item name="android:windowIsFloating">true</item>  
  6.         <item name="android:windowIsTranslucent">false</item>  
  7.         <item name="android:windowNoTitle">true</item><!-- 隐藏标题栏 -->  
  8.         <item name="android:background">@null</item>  
  9.         <item name="android:backgroundDimEnabled">true</item><!-- 屏幕不会变暗 -->  
  10.     </style>  
  11.   
  12. </resources>  
其中windowNoTitle就可以隐藏标题栏啦!

 

在.java中这样使用主题:

[javascript] view plaincopy
  1. dialogholdon dg = new dialogholdon(Preference_activity_of_huitestActivity.this,R.style.dialog);  
  2. dg.dialogshow();          
[javascript] view plaincopy
  1. public dialogholdon(Context context,int theme) {//构造函数  
  2.             super(context,theme);  
  3.           
  4.             // TODO Auto-generated constructor stub  
  5.         }  
希望大家多多交流!!!^^

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics