Android中自定义Activity和Dialog的位置大小背景和透明度等demo
1.自定义Activity显示样式
先在res/values下建colors.xml文件,写入:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <!-- 设置透明度为56%(9/16)左右 -->
- <color name="transparent">#9000</color>
- </resources>
这个值设定了整个界面的透明度,为了看得见效果,现在设为透明度为56%(9/16)左右。
再在res/values/下建styles.xml,设置程序的风格
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <mce:style name="Transparent"><!--
- 设置背景 -->
- <item name="android:windowBackground">@color/transparent</item>
- <!-- 设置底层可见 -->
- <item name="android:windowIsTranslucent">true</item>
- <!-- 设置跳转效果 -->
- <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>
- --></mce:style><style name="Transparent" mce_bogus="1"> 设置背景 -->
- <item name="android:windowBackground">@color/transparent</item>
- <!-- 设置底层可见 -->
- <item name="android:windowIsTranslucent">true</item>
- <!-- 设置跳转效果 -->
- <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>
- </style>
- </resources>
注:mce部分为发帖是自动生成的,实际不需要。
最后一步,把这个styles.xml用在相应的Activity上。即在AndroidManifest.xml中的任意<activity>标签中添加
android:theme = "@style/transparent"
如果想设置所有的activity都使用这个风格,可以把这句标签语句添加在<application>中。
最后运行程序,哈哈,是不是发现整个界面都被蒙上一层半透明了。最后可以把背景色#9000换成#0000,运行程序后,就全透明了,看得见背景下的所有东西可以却都操作无效。呵呵....
2.将Activity以Dialog的形式显示并自定义样式
先在res/drawable下建bgconfig.xml文件,写入:
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android">
- <solid android:color="#ffffff" />
- <stroke android:width="3dp" color="#000000" />
- <corners android:radius="3dp" />
- <padding android:left="3dp" android:top="3dp" android:right="3dp"
- android:bottom="3dp" />
- </shape>
再在res/values/下建styles.xml,设置程序的风格
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <!-- 设置样式 -->
- <mce:style name="Theme.MyActivity" parent="android:style/Theme.Dialog" mce_bogus="1" mce_bogus="1"><!--
- <item name="android:windowBackground">@drawable/bgconfig</item>
- --></mce:style><style name="Theme.MyActivity" parent="android:style/Theme.Dialog" mce_bogus="1" mce_bogus="1" mce_bogus="1"> <item name="android:windowBackground">@drawable/bgconfig</item>
- </style>
- </resources>
注:mce部分为发帖是自动生成的,实际不需要。
最后一步,把这个styles.xml用在相应的Activity上。即在AndroidManifest.xml中的任意<activity>标签中添加
android:theme = "@style/transparent"
如果想设置所有的activity都使用这个风格,可以把这句标签语句添加在<application>中。
3.设置窗口大小和位置
- WindowManager m = getWindowManager();
- Display d = m.getDefaultDisplay(); //为获取屏幕宽、高
- LayoutParams p = getWindow().getAttributes(); //获取对话框当前的参数值
- p.height = (int) (d.getHeight() * 1.0); //高度设置为屏幕的1.0
- p.width = (int) (d.getWidth() * 0.7); //宽度设置为屏幕的0.8
- p.alpha = 1.0f; //设置本身透明度
- p.dimAmount = 0.0f; //设置黑暗度
- getWindow().setAttributes(p); //设置生效
- getWindow().setGravity(Gravity.RIGHT); //设置靠右对齐
Android中自定义Activity和Dialog的位置大小背景和透明度等demo的更多相关文章
- Android中自定义Activity和Dialog的位置大小背景和透明度等
1.自定义Activity显示样式 先在res/values下建colors.xml文件,写入: view plainprint? 1. <?xml version="1.0" ...
- 在Android中动画移动一个View的位置,采用Scroller类实现Android动画之 View移动
在Android中动画移动一个View的位置,采用Scroller类实现 今天说最近自己遇到的一个问题,就是要用动画效果来移动一个VIew的位置. 这个具体的情况是,需要做一个SlidingMenu的 ...
- Android中半透明Activity效果另法
Android中的Activity有没有类似于像Windows程序样的窗口式显示呢? 答案当然是有. 下图就是一个窗口式Activity的效果图: 下面就说说实现过程: 首先看看AndroidMani ...
- [转]Android中自定义checkbox样式
android中自定义checkbox的图片和大小 其实很简单,分三步: 1.在drawable中创建文件checkbox_selector.xml: <?xml version=" ...
- 转--Android中自定义字体的实现方法
1.Android系统默认支持三种字体,分别为:“sans”, “serif”, “monospace 2.在Android中可以引入其他字体 . 复制代码 代码如下: <?xml versio ...
- Android中自定义veiw使用Java中的回调方法
//------------------MainActivity----中---------------------------------- import android.os.Bundle;imp ...
- Android中的Activity
Android四大组件 活动(Activity) 广播接收者(BroadCastReceiver) 服务(Service) 内容提供者(Contentprovider) Activity 先来看And ...
- Android中自定义组合控件
Android中自定义控件的情况非常多,一般自定义控件可以分为两种:继承控件及组合控件.前者是通过继承View或其子类,重写方法实现自定义的显示及事件处理方式:后者是通过组合已有的控件,来实现结构的简 ...
- Android中自定义ListView实现上拉加载更多和下拉刷新
ListView是Android中一个功能强大而且很常用的控件,在很多App中都有ListView的下拉刷新数据和上拉加载更多这个功能.这里我就简单记录一下实现过程. 实现这个功能的方法不止一个,Gi ...
随机推荐
- 每天一个linux命令(22):chgrp命令
在 lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别 码都可以.Chgrp命令就是change grou ...
- HDU 5973 Game of Taking Stones 威佐夫博弈+大数
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5973 Game of Taking Stones Time Limit: 2000/1000 MS ...
- android文件上传到服务器
package uploadDemo; import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStre ...
- offsetLeft, offsetTop以及postion().left , postion().top有神马区别
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- SQL注入备忘单
Find and exploit SQL Injections with free Netsparker SQL Injection Scanner SQL Injection Cheat Sheet ...
- 加载数据库驱动程序的方法和JDBC的流程
加载驱动方法 1.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 2. DriverManager.r ...
- Windows下一些配置信息
VC.VS和.NetFramework版本对应关系 VC6.0对应VS 6.0 VC7.0对应VS 2002 VC7.1对应VS 2003 .Net Framework1.0/1.1 VC8.0对应V ...
- Fedora和Ubuntu下安装OpenGL开发环境配置
Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...
- [IOS 同步GET和POST数据的模版]
1.同步GET (联网检测) +(BOOL)checkConnect{ // 初始化请求 NSMutableURLRequest *request = [[NSMutableURLRequest al ...
- IOS基础之 (十二) 类的扩展
对OC类的扩展总结如下,共有4个: 1.子类 subClass 作用:可以使用类的继承来增添父类的变量和方法. 写法:在.h文件中 @interface Student : Person 2.分类 C ...