1、Android 中自定义 Activity 和 Dialog 的位置大小背景和透明度等 分类: android 2011-07-15 17:18 1490 人阅读 评论(2) 收藏 举报 1.自定义 Activity 显示样式先在 res/values 下建 colors.xml 文件,写入:view plainprint?1. 2. 3. 4. #9000 5. view plaincopy to clipboardprint?1. #9000 这个值设定了整个界面的透明度,为了看得见效果,现在设为透明度为 56%(9/16)左右。再在 res/values/下建 styles.xml,设置
2、程序的风格view plainprint?1. 2. 3. 5. color/transparent 6. 7. true 8. 9. +android:style/Animation.Translucent 10. 11. 设置背景 12. color/transparent 13. 14. true 15. 16. +android:style/Animation.Translucent 17. 18. view plaincopy to clipboardprint?1. color/transparent true +android:style/Animation.Translucen
3、t 设置背景 color/transparent true +android:style/Animation.Translucent 注:mce 部分为发帖是自动生成的,实际不需要。最后一步,把这个 styles.xml 用在相应的 Activity 上。即在 AndroidManifest.xml 中的任意标签中添加 android:theme = “style/transparent“ 如果想设置所有的 activity 都使用这个风格,可以把这句标签语句添加在中。 最后运行程序,哈哈,是不是发现整个界面都被蒙上一层半透明了。最后可以把背景色#9000 换成#0000,运行程序后,就全透明
4、了,看得见背景下的所有东西可以却都操作无效。呵呵. 2.将 Activity 以 Dialog 的形式显示并自定义样式先在 res/drawable 下建 bgconfig.xml 文件,写入:view plainprint?1. 2. 3. 4. 5. 6. 8. view plaincopy to clipboardprint?1. 2. 3. 4. drawable/bgconfig 6. 7. drawable/bgconfig 8. 9. view plaincopy to clipboardprint?1. drawable/bgconfig drawable/bgconfig 注
5、:mce 部分为发帖是自动生成的,实际不需要。最后一步,把这个 styles.xml 用在相应的 Activity 上。即在 AndroidManifest.xml 中的任意标签中添加 android:theme = “style/transparent“ 如果想设置所有的 activity 都使用这个风格,可以把这句标签语句添加在中。3.设置窗口大小和位置view plainprint?1. WindowManager m = getWindowManager(); 2. Display d = m.getDefaultDisplay(); /为获取屏幕宽、高 3. 4. LayoutPar
6、ams p = getWindow().getAttributes(); /获取对话框当前的参数值 5. p.height = (int) (d.getHeight() * 1.0); /高度设置为屏幕的 1.0 6. p.width = (int) (d.getWidth() * 0.7); /宽度设置为屏幕的 0.8 7. p.alpha = 1.0f; /设置本身透明度 8. p.dimAmount = 0.0f; /设置黑暗度 9. 10. getWindow().setAttributes(p); /设置生效 11. getWindow().setGravity(Gravity.RIGHT); /设置靠右对齐