zoukankan      html  css  js  c++  java
  • Android中自定义Activity和Dialog的位置大小背景和透明度等demo

    1.自定义Activity显示样式

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

    [xhtml] view plaincopy
     
     
    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,设置程序的风格

    [xhtml] view plaincopy
     
     
    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.       
    11. --></mce:style><style name="Transparent" mce_bogus="1"> 设置背景 -->     
    12.         <item name="android:windowBackground">@color/transparent</item>  
    13.         <!-- 设置底层可见 -->     
    14.         <item name="android:windowIsTranslucent">true</item>  
    15.         <!-- 设置跳转效果 -->  
    16.         <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>     
    17.     </style>   
    18. </resources>  

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

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

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

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

    [xhtml] view plaincopy
     
     
    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,设置程序的风格

    [xhtml] view plaincopy
     
     
    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.      
    7. --></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>  
    8.     </style>  
    9. </resources>  

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

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

    3.设置窗口大小和位置

    [java] view plaincopy
     
     
      1. WindowManager m = getWindowManager();    
      2.        Display d = m.getDefaultDisplay();  //为获取屏幕宽、高    
      3.            
      4.        LayoutParams 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);       //设置靠右对齐 
  • 相关阅读:
    OSCP Learning Notes Buffer Overflows(3)
    OSCP Learning Notes Buffer Overflows(5)
    OSCP Learning Notes Exploit(3)
    OSCP Learning Notes Exploit(4)
    OSCP Learning Notes Exploit(1)
    OSCP Learning Notes Netcat
    OSCP Learning Notes Buffer Overflows(4)
    OSCP Learning Notes Buffer Overflows(1)
    OSCP Learning Notes Exploit(2)
    C++格式化输出 Learner
  • 原文地址:https://www.cnblogs.com/wangluochong/p/4550900.html
Copyright © 2011-2022 走看看