继续讨论自定义dialog

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

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

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




1. <RelativeLayout  
2. "http://schemas.android.com/apk/res/android"  
3. "horizontal"  
4. "wrap_content"  
5. "wrap_content">  
6.         <ImageView   
7. "@+id/iconimage"   
8. "60dp"    
9. "60dp"   
10. "centerInside"//将图标集中缩放至所需宽度和高度  
11. "@drawable/phone_holdon"   
12. "@+id/texttitle"/>   
13. "设置方式"   
14. "25dp"   
15. "@+id/texttitle"   
16. "wrap_content"   
17. "wrap_content"  
18. "@+id/iconimage"//相对布局 在图标的右边  
19. "true"//相对于父控件(图标)呈垂直居中  
20. "16dp">  
21.         </TextView>  
22.     </RelativeLayout>


2.自己添加分割线

 

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

 



1. <ImageView android:layout_width="fill_parent"  
2. "@drawable/fenge5" android:layout_height="wrap_content"/>


非常简单

 

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

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




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

其中windowNoTitle就可以隐藏标题栏啦!


 

在.java中这样使用主题:




1. dialogholdon dg = new dialogholdon(Preference_activity_of_huitestActivity.this,R.style.dialog);  
2. dg.dialogshow();


1. public dialogholdon(Context context,int theme) {//构造函数  
2. super(context,theme);  
3.           
4. // TODO Auto-generated constructor stub  
5.         }

希望大家多多交流!!!^^


 


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

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

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



1. <RelativeLayout  
2. "http://schemas.android.com/apk/res/android"  
3. "horizontal"  
4. "wrap_content"  
5. "wrap_content">  
6.         <ImageView   
7. "@+id/iconimage"   
8. "60dp"    
9. "60dp"   
10. "centerInside"//将图标集中缩放至所需宽度和高度  
11. "@drawable/phone_holdon"   
12. "@+id/texttitle"/>   
13. "设置方式"   
14. "25dp"   
15. "@+id/texttitle"   
16. "wrap_content"   
17. "wrap_content"  
18. "@+id/iconimage"//相对布局 在图标的右边  
19. "true"//相对于父控件(图标)呈垂直居中  
20. "16dp">  
21.         </TextView>  
22.     </RelativeLayout>


2.自己添加分割线

 

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

 




1. <ImageView android:layout_width="fill_parent"  
2. "@drawable/fenge5" android:layout_height="wrap_content"/>

非常简单

 

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

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


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

其中windowNoTitle就可以隐藏标题栏啦!


 

在.java中这样使用主题:



1. dialogholdon dg = new dialogholdon(Preference_activity_of_huitestActivity.this,R.style.dialog);  
2. dg.dialogshow();



1. public dialogholdon(Context context,int theme) {//构造函数  
2. super(context,theme);  
3.           
4. // TODO Auto-generated constructor stub  
5.         }

希望大家多多交流!!!^^