Android设置透明、半透明等效果

设置透明效果 大概有三种

1、用android系统的透明效果
Java代码 
android:background="@android:color/transparent" 

例如 设置按钮
Java代码 
<Button android:background="@android:color/transparent"  
 
  android:text="@+id/Button01"  
 
  android:id="@+id/Button01"  
 
  android:layout_width="wrap_content"  
 
  android:layout_height="wrap_content"  
 
  android:textColor="#ffffff" />  

2、用ARGB来控制
Java代码 
半透明<Button android:background="#e0000000" /> 
透明<Button android:background="#00000000" /> 
 
3、设置alpha
Java代码 
View v = findViewById(R.id.content);//找到你要设透明背景的layout 的id 
v.getBackground().setAlpha(100);//0~255透明度值 
 
 
 
 
 
 

android 窗体透明的,黑暗度等的设置技巧
设置透明度(这是窗体本身的透明度,非背景)
lp.alpha=
1
.5f;
31
<code bitstream="" vera="" sans="" mono',="" 'courier="" new',="" courier,="" monospace="" !important;="" float:="" none="" border-top-width:="" 0px="" border-bottom-width:="" height:="" auto="" color:="" rgb(0,0,0)="" font-size:="" 10pt="" vertical-align:="" baseline="" border-left-width:="" top:="" right:="" font-weight:="" normal="" padding-top:="" left:="" background-origin:="" initial;="" background-clip:="" initial"="" class="plain" style="margin: 0px; padding: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; left: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important;">WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
以上设置对dialog对话框同样有效
 
 
 
Activity的透明、半透明效果的设置transparent
res/values/styles.xml
1
2
3
4
5
6
7
8
9
10
11
12
<resources>  
   <style name="Transparent">  
     <item name="android:windowBackground">
       @color/transparent_background
     </item>  
     <item name="android:windowNoTitle">true </item>  
     <item name="android:windowIsTranslucent">true </item>    
     <item name="android:windowAnimationStyle">
         @+android:style/Animation.Translucent
    </item>  
   </style>  
</resources>
res/values/color.xml
1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>  
<resources>  
   <color name="transparent_background">#50000000 </color>  
</resources>  
//注意:
//color.xml的#5000000前两位是透明的效果参数从00--99(透明--不怎么透明),
//后6位是颜色的设置

android:background="#0e000000" 这个是半透明
manifest.xml
1
2
3
4
<activity 
android:name=".TransparentActivity" 
android:theme="@style/Transparent">  
</activity>
java代码
1
2
3
4
5
public  void onCreate (Bundle savedInstanceState )  {  
         super. onCreate (savedInstanceState ) ;  
        setTheme (R. style. Transparent ) ;   
        setContentView (R. layout. transparent ) ;  
}
配置结束


android WebView 设置背景色为透明色

在网上找了 好多的方法都试过了 都不行

1.直接设置成background 为透明色 或者透明图片 (无效)


[html]
android:background="@android:color/transparent" 

android:background="@android:color/transparent"
2.设置加载的html为透明背景图片(无效)


[java]
String mobileDetails = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /><title>vvv</title></head>" + 
        "<div style='background-image: url(file:///android_asset/z_bg_transparent.png);'>" + 
        mGetDetail.data.get("description") 
        + "</div></html>"; 

 String mobileDetails = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /><title>vvv</title></head>" +
   "<div style='background-image: url(file:///android_asset/z_bg_transparent.png);'>" +
   mGetDetail.data.get("description")
   + "</div></html>";
3.网上所谓的 (无效)


[html]
android:layerType="software"  

android:layerType="software"
或者


[html]
android:hardwareAccelerated="false" 

android:hardwareAccelerated="false"
4. 直接代码中设置 mWebView.setBackgroundColor(0); (无效)

5.最后抓着头皮我在 mWebView.setBackgroundColor(0);  基础上设置了他的透明度为 2 结果ok了 (有效)

  代码如下:


[java]
mWebView.getSettings().setJavaScriptEnabled(true); 
mWebView.getSettings().setDefaultTextEncodingName("utf-8") ; 
mWebView.setBackgroundColor(0); // 设置背景色  
mWebView.getBackground().setAlpha(0); // 设置填充透明度 范围:0-255  
mWebView.loadDataWithBaseURL(null, "加载中。。", "text/html", "utf-8",null); 
mWebView.loadDataWithBaseURL(mGetDetail.data.get("hostsUrl"), mGetDetail.data.get("description"), "text/html", "utf-8",null); 
mWebView.setVisibility(View.VISIBLE); // 加载完之后进行设置显示,以免加载时初始化效果不好看 

  mWebView.getSettings().setJavaScriptEnabled(true);
  mWebView.getSettings().setDefaultTextEncodingName("utf-8") ;
  mWebView.setBackgroundColor(0); // 设置背景色
  mWebView.getBackground().setAlpha(0); // 设置填充透明度 范围:0-255
  mWebView.loadDataWithBaseURL(null, "加载中。。", "text/html", "utf-8",null);
  mWebView.loadDataWithBaseURL(mGetDetail.data.get("hostsUrl"), mGetDetail.data.get("description"), "text/html", "utf-8",null);
  mWebView.setVisibility(View.VISIBLE); // 加载完之后进行设置显示,以免加载时初始化效果不好看

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值