Android 背景透明度设置总结
作者:ZPan_ 发布时间:2023-06-06 04:31:13
标签:android,背景透明度
一、写在前面的
在需求上遇到背景设置透明度还是比较常见的,设置透明度有几种方式,但是不同的场景应用下,不同的方式可能会出现一些问题。针对开发过程中的需求做以下总结。
二、先看效果图
图1、
图2、
图3、
图4
介绍:图1、蓝色头部和输入框背景初始状态
图2、点击按钮01,输入框的透明度不起作用,和title的透明度一样
图3、点击按钮02,背景透明度设置正常,但是可能会对全局的背景有影响
图4、点击按钮03,背景透明度设置正常,具体原因代码注释有提到
三、再加上代码
按钮点击
public void button01(View view){
// search透明度不起作用
title.setAlpha(0.2f);
search.setAlpha(0.8f);
}
public void button02(View view){
// 在布局中多个控件同时使用一个资源的时候,这些控件会共用一个状态
// 如果你改变了一个控件的状态,其他的控件都会接收到相同的通知
title.getBackground().setAlpha(51);
search.getBackground().setAlpha(153);
}
public void button03(View view){
// 使用mutate()方法使该控件状态不定,这样不定状态的控件就不会共享自己的状态了
title.getBackground().mutate().setAlpha(51);
search.getBackground().mutate().setAlpha(153);
}
布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/ll_title"
android:layout_width="match_parent"
android:layout_height="80dp"
android:gravity="center"
android:background="#0000ff"
android:orientation="horizontal">
<EditText
android:id="@+id/et_search"
android:layout_width="200dp"
android:layout_height="60dp"
android:gravity="center"
android:hint="输入框"
android:textColorHint="#ffffff"
android:background="@drawable/search_title_bg"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:orientation="horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="01"
android:onClick="button01"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="02"
android:onClick="button02"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="03"
android:onClick="button03"/>
</LinearLayout>
</LinearLayout>
输入框背景 search_title_bg
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="#000000"/>
<corners
android:radius="8dp"/>
<stroke
android:width="1dp"
android:color="#666666"/>
</shape>
四、写在后面的
背景透明度设置比较常见,mutate()方法,可以解决背景透明状态设置异常的现象。
来源:http://blog.csdn.net/zp0119/article/details/73162593


猜你喜欢
- 一、编译环境spring5.0.x源码gradle4.9jdk1.8_151IntelliJ IDEA 2020.1二、安装gradle1、
- 本文实例为大家分享了Java读取并下载网络文件的具体代码,供大家参考,具体内容如下import java.io.ByteArrayOutpu
- 1、Buffer的继承体系如上图所示,对于Java中的所有基本类型,都会有一个具体的Buffer类型与之对应,一般我们最经常使用的是Byte
- 随着互联网公司的微服务越来越多,分布式事务已经成为了我们的经常使用的。所以我们来一步一步的实现基于RocketMQ的分布式事务。接下来,我们
- 文章转自公众号:Coder梁(ID:Coder_LT) 1.类常量有的时候, 我们希望能给类当中定义一些常量,可以给所有类的对象使用。比如说
- 用C#想写一个直接将数据库查询得到的datatable,直接导出为csv格式的文件,拷贝到导出的操作类后,一直catch到的错误提示是对路径
- 前言翻译自:arkadiuszchmura.com/posts/be-ca…最近我在负责一段代码库,需要在使用 Flo
- 存储的可选项Android 的文件系统类似于其他平台的基于磁盘的文件系统。包括以下几种存储类别:App 私有的存储空间共享的存储空间Pref
- 如何配置 * step1: 自定义 * /** * 自定义 * */public class MyInterceptor implemen
- 托管资源指的是.NET可以自动进行回收的资源,主要是指托管堆上分配的内存资源。托管资源的回收工作是不需要人工干预的,有.NET运行库在合适调
- 在使用Unity中的Debug.Log()进行日志输出时很不方便,在打包出来的可执行文件中没有办法看到输出,所有就想自己实现一个简易的日志输
- 介绍写给刚刚入坑 Java 的各位,无论你是计算机领域从业者,亦或是科班出身的专业人才。当然也包括我在内,Hello World 相信大家都
- 开发过程中会遇见很多app注册时,需要通过手机发送验证码验证 ,这是可以封装一个验证码按钮:attrs.xml<?xml versio
- 说到事件机制,可能脑海中最先浮现的就是日常使用的各种 listener,listener去监听事件源,如果被监听的事件有变化就会通知list
- 安卓的三种本地的典型数据存储方式SharedPreferences以文件格式保存在本地存储中SQL数据库IDE : Android Stud
- 快速排序实现: namespace QuickSort { class QuickSort { public static void Sor
- 在我们实际业务中,可能存在多个类之间相互调用,形成了一个复杂的网状结构。这时候就需要有一种模式去“捋顺&rdqu
- WebService是一种传统的SOA技术架构,它不依赖于任何的编程语言,也不依赖于任何的技术平台,可以直接基于HTTP协议实现网络应用间的
- 本文实例讲述了C#邮件定时群发工具Atilia用法。分享给大家供大家参考。具体如下:一、Atilia可以做什么Atilia是一个基于命令行的
- 什么是JSON?JSON (JavaScript Object Notation) is a lightweight data-interc