1.自定义Activity显示样式

先在res/values下建colors.xml文件,写入:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <!-- 设置透明度为56%(9/16)左右 -->
  4. <color name="transparent">#9000</color>
  5. </resources>

这个值设定了整个界面的透明度,为了看得见效果,现在设为透明度为56%(9/16)左右。

再在res/values/下建styles.xml,设置程序的风格

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <mce:style name="Transparent"><!--
  4. 设置背景 -->
  5. <item name="android:windowBackground">@color/transparent</item>
  6. <!-- 设置底层可见 -->
  7. <item name="android:windowIsTranslucent">true</item>
  8. <!-- 设置跳转效果 -->
  9. <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>
  10. --></mce:style><style name="Transparent" mce_bogus="1"> 设置背景 -->
  11. <item name="android:windowBackground">@color/transparent</item>
  12. <!-- 设置底层可见 -->
  13. <item name="android:windowIsTranslucent">true</item>
  14. <!-- 设置跳转效果 -->
  15. <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>
  16. </style>
  17. </resources>

注:mce部分为发帖是自动生成的,实际不需要。

最后一步,把这个styles.xml用在相应的Activity上。即在AndroidManifest.xml中的任意<activity>标签中添加 
android:theme = "@style/transparent" 
如果想设置所有的activity都使用这个风格,可以把这句标签语句添加在<application>中。 
最后运行程序,哈哈,是不是发现整个界面都被蒙上一层半透明了。最后可以把背景色#9000换成#0000,运行程序后,就全透明了,看得见背景下的所有东西可以却都操作无效。呵呵....

2.将Activity以Dialog的形式显示并自定义样式

先在res/drawable下建bgconfig.xml文件,写入:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android">
  3. <solid android:color="#ffffff" />
  4. <stroke android:width="3dp" color="#000000" />
  5. <corners android:radius="3dp" />
  6. <padding android:left="3dp" android:top="3dp" android:right="3dp"
  7. android:bottom="3dp" />
  8. </shape>

再在res/values/下建styles.xml,设置程序的风格

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <!-- 设置样式 -->
  4. <mce:style name="Theme.MyActivity" parent="android:style/Theme.Dialog" mce_bogus="1" mce_bogus="1"><!--
  5. <item name="android:windowBackground">@drawable/bgconfig</item>
  6. --></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>
  7. </style>
  8. </resources>

注:mce部分为发帖是自动生成的,实际不需要。

最后一步,把这个styles.xml用在相应的Activity上。即在AndroidManifest.xml中的任意<activity>标签中添加 
android:theme = "@style/transparent" 
如果想设置所有的activity都使用这个风格,可以把这句标签语句添加在<application>中。

3.设置窗口大小和位置

    1. WindowManager m = getWindowManager();
    2. Display d = m.getDefaultDisplay();  //为获取屏幕宽、高
    3. LayoutParams p = getWindow().getAttributes();  //获取对话框当前的参数值
    4. p.height = (int) (d.getHeight() * 1.0);   //高度设置为屏幕的1.0
    5. p.width = (int) (d.getWidth() * 0.7);    //宽度设置为屏幕的0.8
    6. p.alpha = 1.0f;      //设置本身透明度
    7. p.dimAmount = 0.0f;      //设置黑暗度
    8. getWindow().setAttributes(p);     //设置生效
    9. getWindow().setGravity(Gravity.RIGHT);       //设置靠右对齐

Android中自定义Activity和Dialog的位置大小背景和透明度等demo的更多相关文章

  1. Android中自定义Activity和Dialog的位置大小背景和透明度等

    1.自定义Activity显示样式 先在res/values下建colors.xml文件,写入: view plainprint? 1. <?xml version="1.0" ...

  2. 在Android中动画移动一个View的位置,采用Scroller类实现Android动画之 View移动

    在Android中动画移动一个View的位置,采用Scroller类实现 今天说最近自己遇到的一个问题,就是要用动画效果来移动一个VIew的位置. 这个具体的情况是,需要做一个SlidingMenu的 ...

  3. Android中半透明Activity效果另法

    Android中的Activity有没有类似于像Windows程序样的窗口式显示呢? 答案当然是有. 下图就是一个窗口式Activity的效果图: 下面就说说实现过程: 首先看看AndroidMani ...

  4. [转]Android中自定义checkbox样式

    android中自定义checkbox的图片和大小   其实很简单,分三步: 1.在drawable中创建文件checkbox_selector.xml: <?xml version=" ...

  5. 转--Android中自定义字体的实现方法

    1.Android系统默认支持三种字体,分别为:“sans”, “serif”, “monospace 2.在Android中可以引入其他字体 . 复制代码 代码如下: <?xml versio ...

  6. Android中自定义veiw使用Java中的回调方法

    //------------------MainActivity----中---------------------------------- import android.os.Bundle;imp ...

  7. Android中的Activity

    Android四大组件 活动(Activity) 广播接收者(BroadCastReceiver) 服务(Service) 内容提供者(Contentprovider) Activity 先来看And ...

  8. Android中自定义组合控件

    Android中自定义控件的情况非常多,一般自定义控件可以分为两种:继承控件及组合控件.前者是通过继承View或其子类,重写方法实现自定义的显示及事件处理方式:后者是通过组合已有的控件,来实现结构的简 ...

  9. Android中自定义ListView实现上拉加载更多和下拉刷新

    ListView是Android中一个功能强大而且很常用的控件,在很多App中都有ListView的下拉刷新数据和上拉加载更多这个功能.这里我就简单记录一下实现过程. 实现这个功能的方法不止一个,Gi ...

随机推荐

  1. AngularJS - 路由入门

    我们有很多方法让一个视图随着用户的操作进行变化. 但是,只是单单一个视图就要满足所有的需求会让代码变得非常复杂. 也许我们可以使用ng-include来引用各种模板,但这只限于部分场景. 于是我们可以 ...

  2. CSS3——3D效果

    1.效果1 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" c ...

  3. 问问题_Java一次导出百万条数据生成excel(web操作)

    需求:在web页面操作,一次导出百万条数据并生成excel 分析: 1.异步生成Excel,非实时,完成后使用某种方式通知用户 2.生成多个excel文件,并打包成zip文件,因为一个excel容纳不 ...

  4. 使用TransactionScopeOption 管理事务流

    可通过调用一个方法来嵌套事务范围,该方法在使用其自己范围的方法中使用 TransactionScope,下面示例中的 RootMethod 方法就是前者这样的方法. void RootMethod() ...

  5. 【HDU 5115】Dire Wolf

    题意 n只狼排成一行,每次击败第i只狼需要ai+bi-1+bi+1代价,击败后,相当于出列了,与i相邻两只狼成了相邻的.求击败所有狼的最小总代价. 分析 我开始一直以为是个环TAT.. 区间dp,dp ...

  6. Day4_计算器

    read me 1.构造三个函数,乘除(mad),加减(aas),去括号(par): 2.获取表达式字符串之后,判断是否包含“+-*/()”等字符,包含则下一步3:不包含,返回字符串: 3.par 函 ...

  7. Oracle查看锁表

     查看锁表进程SQL语句1: select sess.sid,     sess.serial#,     lo.oracle_username,     lo.os_user_name,     a ...

  8. 4.Android下拉列表框spinner学习

    下拉列表框被广泛使用,诸如淘宝.京东等手机端经常可以看到这个部件身影,今天就来学习下它. 首先布局文件增加代码:如图 接下来在values下增加arrays.xml 如图               ...

  9. 项目总结—jQuery EasyUI- DataGrid使用

    http://blog.csdn.net/zwk626542417/article/details/18839349 概要 jQuery EasyUI是一个基于jquery的集成了各种用户界面的框架, ...

  10. Fedora 20下配置samba服务器

    1 安装samba [root@localhost ~]# yum –y install samba   ← 通过网络安装samba yum -y install samba-client    // ...