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

时间: 2024-09-17 03:35:05

Android 背景透明度设置总结的相关文章

android 新手指引按钮透明度设置

问题描述 android 新手指引按钮透明度设置 最近项目需要做一个新手指引, Ui给了几个图标按钮,我用一个Dialog实现的,将整个dialog充满屏幕,然后设置dialog背景为80%的透明度,dialog上面浮现两个图标按钮,功能都实现了,现在我的问题是,能够通过dialog上面的图标按钮能够看到dialog下面的Activity的信息,按理是对的,但是产品需求是除了图标意外的地方都透明,意思就是要求图标按钮部分不能看到里面的信息,我想给图标按钮的设置成不透明,我通过代码尝试了改了,还是

Android编程实现设置按钮背景透明与半透明及图片背景透明的方法_Android

本文实例讲述了Android编程实现设置按钮背景透明与半透明及图片背景透明的方法.分享给大家供大家参考,具体如下: Button或者ImageButton的背景设为透明或者半透明: 半透明 复制代码 代码如下: <Button android:background="#e0000000" ... /> 透明 复制代码 代码如下: <Button android:background="#00000000" ... /> 颜色和不透明度 (al

android 控件设置背景以后再代码中改变的时候对不其

android 控件设置背景以后再代码中改变的时候对不齐,我在xml文件中给Button设置了背景,但是在代码中判断了以后我就改变了背景的颜色,但是他的位置还是以前背景的那么大位置,上边显示的文字跟上边的按钮对不 最后调试了半天,只要把设置背景的代码都写带代码中ok

Android背景--零碎小知识

1.Android背景平铺 android中达到类似于windows桌面背景的平铺的效果,定义一个bitmap对象,在xml中和代码中均可,设置其tileMode为repeat.在drawable文件夹下建立如下文件tilebg.xml:   Java代码   <?xml version ="1.0" encoding ="utf-8" ?>    <bitmap xmlns:android ="http://schemas.androi

Android中selector设置

问题描述 Android中selector设置 android中怎么在mainactivity中动态设置textview 字体颜色的selector 解决方案 android 设置selector无效android selector下的设置背景属性值android selector下的设置背景属性值 解决方案二: 做不同的xml文件,动态设置backgroundresourceid

基于android背景选择器selector的用法汇总_Android

一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <!-- 没有焦点时的背景图片 -->    <item android:dr

imageview-android imagebutton背景图片设置

问题描述 android imagebutton背景图片设置 gridview的布局xml有3个imagebutton,属性android:src="@drawable/on",(用background背景图片变形了,只能用src),点击后图像重叠并且变形了,怎么办? voice.xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item andro

android SeekBar 样式设置

  UI参考                     Xml代码   <SeekBar          android:id="@+id/seekbar"          style="?android:attr/progressBarStyleHorizontal"          android:layout_width="fill_parent"          android:layout_height="wrap

android button属性设置问题

问题描述 android button属性设置问题 android button可以同时设置state_pressed 和state_enabled属性吗 貌似两个写到一个xml文件里只有第一个有效 怎么样同时把这两个属性设置上去呢? 解决方案 在drawable 下 写一个文件 然后 设置为button的背景 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="