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开发指南5:AngularJS表达式详解

    AngularJS表达式类似Javascript的代码片段,通常在数据绑定中用到,写在双大括号中,如:{{表达式}}.表达式是用$parse方法来处理的. 下面是一些合法的AngularJS表达式 1 ...

  2. js回掉页面后台代码-简单demo

    后台代码: public partial class WebForm1 : System.Web.UI.Page, ICallbackEventHandler { protected void Pag ...

  3. SSH框架整合配置所需JAR包(SSH整合)

    转载于:http://www.cnblogs.com/kaige123/p/5719662.html Hibernate Jar: 1.hibernate3.jar,这个是hibernate3.0的核 ...

  4. 名词释义(ActiveMQ 和 Webservice)

    ActiveMQ一般用来做消息通信,特别是异步的消息处理,把同步的处理变成异步消息,使得系统解耦.消峰平谷. Webservice则是一种RPC,用来远程调用服务,达到打通系统.服务复用的目的. 其实 ...

  5. 详解Java中ArrayList、Vector、LinkedList三者的异同点

    转载:https://my.oschina.net/zzw922cn/blog/491631 一.ArrayList ArrayList是一个可以处理变长数组的类型,这里不局限于"数&quo ...

  6. 【ZOJ 3844】Easy Task

    题意 每次把序列中最大的数a的一个和最小的数b的一个变成a-b.求最后是否能使序列里的数全部相同,能则输出这个相同的数. 分析 一定是有解的,不断减少最大数的个数,最大数减少为0个时,就是减少了不同数 ...

  7. Type-Length-Value编码

    Within data communication protocols, optional information may be encoded as a type-length-value or T ...

  8. 如何在 Arch Linux 的终端里设定 WiFi 网络

    如果你使用的是其他 Linux 发行版 而不是 Arch CLI,那么可能会不习惯在终端里设置 WiFi.尽管整个过程有点简单,不过我还是要讲一下.在这篇文章里,我将带领新手们通过一步步的设置向导,把 ...

  9. Laravel5.1 启动详解

    借鉴: Laravel所有请求的入口文件是:/public/index.php,代码如下 <?php /*|------------------------------------------- ...

  10. -----------------------------------项目中整理的非常有用的PHP函数库(二)-----------------------------------------------------

    6.PHP列出目录下的文件名 如果你想列出目录下的所有文件,使用以下代码即可: function listDirFiles($DirPath){ if($dir = opendir($DirPath) ...