Android 背景透明度设置总结

Android 背景透明度设置总结,第1张

概述一、写在前面的在需求上遇到背景设置透明度还是比较常见的,设置透明度有几种方式,但是不同的场景应用下,不同的方式可能会出现一些问题。针对开发过程中的需求做以下总结。

一、写在前面的

在需求上遇到背景设置透明度还是比较常见的,设置透明度有几种方式,但是不同的场景应用下,不同的方式可能会出现一些问题。针对开发过程中的需求做以下总结。

二、先看效果图

图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()方法,可以解决背景透明状态设置异常的现象。

总结

以上是内存溢出为你收集整理的Android 背景透明度设置总结全部内容,希望文章能够帮你解决Android 背景透明度设置总结所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1146005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存