资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

android半透明,android半透明背景

android 怎么给一块区域设置背景半透明

activity的背景透明,只需在只要在配置文件内activity属性配置内加上android:theme="@android:style/Theme.Translucent"就好了。

创新互联是专业的雅安网站建设公司,雅安接单;提供成都做网站、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行雅安网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

但是想要多方面的设置theme的话,就要在values里设置风格先:

加透明:

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

?xmlversionxmlversion="1.0"encoding="UTF-8"?

resources

colornamecolorname="transparent"#9000/color!--透明度--

/resources

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

透明度可以用#9000值调,将这个值(ARGB)改变,就会有不同效果的透明度。

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

?xmlversionxmlversion="1.0"encoding="utf-8"?

resources

stylenamestylename="Transparent"

item name="android:windowBackground"@color/transparent/item

item name="android:windowIsTranslucent"true/item

item name="android:windowAnimationStyle"@+android:style/Animation.Translucent/item

/style

/resources

加了@+android:style/Animation.Translucent这句的时候就会显示出此activity会有动画切换效果

最后一步,把这个styles.xml用在相应的Activity上。即在AndroidManifest.xml中的任意标签中添加 android:theme="@style/transparent"

如果要设置所有的activity都使用这个风格,就把这句标签语句添加在中。

Android中按钮如何设置透明或半透明,求代码

在main.xml里面加入如下代码,就可以Android中按钮如何设置透明或半透明;

Button

android:text="@+id/Button01"

android:id="@+id/Button01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="#00000000"

/

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控件怎么做到半透明?

View v = findViewById(R.id.content);//找到你要设透明背景的layout 的id

v.getBackground().setAlpha(100);//0~255透明度值

或者

android:background="#e0000000"

Android 状态栏透明

前言:最近项目大量用到状态栏透明,网上也出现很多库可以直接拿来用,个人认为没有必要那么重引用到一个库(有木有同学和我有一样的想法),所以研究了一番,在此做个记录加强记忆也便后期查阅,如果无意中有幸能帮助到你那就再好不过了。

Android 从 4.4 (SDK 19) 开始支持 系统栏(状态栏+导航栏)半透明 效果:

翻译一下就是:

TranslucentDecor 主题设置了两个属性 windowTranslucentStatus 和 windowTranslucentNavigation 都为 true,前者指定状态栏半透明、后者指定导航栏半透明。

本文只探讨“状态栏” 。

默认样式是这样:

可见 Toolbar 和系统状态栏之间有明显的分界,我们要实现的效果是 Toolbar 和状态栏背景统一,看起来像是一个整体(自行脑补图片)。

按照官方文档,我们自定义主题:

对应的 Activity 引用该主题:

我看来看看效果:

虽然实现了半透明,但是布局被状态栏覆盖,接下来在布局文件中设置 fitSystemWindows (注意加到根节点 ConstraintLayout 上):

来看看效果:

虽然布局没有被状态栏覆盖,但是状态栏背景显然这不是我们想要的效果????

为什么状态栏会这么奇怪?

文章开头的定义中我们说了,布局文件会延伸到状态栏所占区域下, fitsSystemWindows 的作用是给对应的 View 增加 padding(这里以 ConstraintLayout 为例),目的是为了让其内容不被状态栏遮挡。

在我们的布局文件中 ConstraintLayout 没有设置背景(默认白色),所以状态栏默认的半透明背景色和 ConstraintLayout 的白色背景叠加,就变成了上图中的效果。

【总结】两个基本概念:

1、 windowTranslucentStatus 设置为true之后,状态栏默认是 半透明 的(4.4 是黑色到透明色渐变,5.0+ 是纯黑色半透明),和我们要求的 透明 相去甚远。更重要的是,布局会延伸到状态栏底下。

2、 android:fitsSystemWindows 简单理解 就是 View 为了适配系统状态栏和导航栏(不被遮挡)自动 增加 padding ,当然真正的实现原理比这复杂很多而且不同的 View 可以自定义实现方式。

所以,为了实现文章开头提出来的“状态栏透明”效果,我们需要处理:

设置 windowTranslucentStatus 为 true,让状态栏半透明。

在根节点设置 android:fitsSystemWindows 使其不被状态栏遮挡。

Android 4.4 暂时没有办法去掉状态栏的渐变。

Android 5.0+ 开始支持修改状态栏颜色,设置透明色即可把半透明去掉。

看看效果:

我们看到即使状态栏透明了,但是其底色是一片白,因为跟节点 ConstraintLayout 没有设置背景,大多情况下我们不会给整个跟节点设置颜色,可以考虑把 android:fitsSystemWindows 设置到子 View 上,本例中是 AppBarLayout (5.0+ 无效,只能显式给 AppBarLayout 加 padding,可以利用其背景色),实际项目中可灵活调整。

最终效果:

至此,完成状态栏透明效果,网上有很多库,实际上都是基于此原理,在此基础上再自定义 View 做为状态栏背景。


文章名称:android半透明,android半透明背景
浏览地址:http://cdkjz.cn/article/dsgosop.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220