动态设置Activity背景图-程序员宅基地

技术标签: Android基础  

一般设置Activity背景都是这样的一段代码:

getWindow().getDecorView().setBackgroundResource

或getWindow().getDecorView().setBackground


这样设置一般是setContentView对应的xml文件根节点没有设置背景,如果跟节点设置了背景属性,那么以上代码设置背景将会无效。


原因是由于getWindow().getDecorView().setBackgroundResource设置的是Activity视图结构中的DecorView背景,而不是真正的setContentView方法对应内容区域背景。


Activity的视图结构如下:


DecorView是FrameLayout的子类,从视图可以看出DecorView包含了一个子View(LinearLayout@41ffa790),而(LinearLayout@41ffa790)包含了两个子View,

其中FrameLayout@41ffa2b8 id/content 则为 setContentView 方法设置的内容,我们应该设置它的子View RelativeLayout@41ff7dc0 这个View的背景才准确。

具体的设置背景的代码如下:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lue2009/article/details/41678419

智能推荐

egret_渲染优化-spine粒子混合_spine粒子特效-程序员宅基地

文章浏览阅读1.7k次。之前的 spine 动画, 优化是的图集, 这里主要是 spine 中的粒子 缘起: 在项目中发现了某个 spine 粒子特效 特别费 dc, 看了下 spine相关文件, 法线只是使用一个小图, 预期中应该是 一个批次就可以绘制完成. 遂 详细看了下 spine 的 json 文件. 发现使用了一个混合 "blend": "additive"粒子主要是很多个 渲染节..._spine粒子特效

对java Field中的set()方法以及Modifier的一些思考_field的set方法第一个参数传入null-程序员宅基地

文章浏览阅读5.4k次,点赞3次,收藏6次。只前转载了一篇文章《JAVA反射修改常量,以及其局限》,受益匪浅,在这里再次感谢原作者。在看完文章后,我又试着写了一个测试程序,在期间也遇到了一些问题,写在这里,供大家参考。程序入下:import java.lang.reflect.Field;class My{ private static final int value= 1; private static_field的set方法第一个参数传入null

SpringBoot 自定义配置类扩展SpringMVC的功能_spring boot项目中定制spring mvc的扩展功能,需要提供实现_____接口的配置类-程序员宅基地

文章浏览阅读1.1k次。SpringBoot 1.x:可以使用继承WebMvcConfigurerAdapter来扩展SpringMVC的功能.SpringBoot 2.x:有两种方式可以扩展SpringMVC的功能,第一种方式是通过继承WebMvcConfigurationSupport类,但是此方法会使SpringBoot 对SpringMVC的自动配置失效;第二种方式是实现WebMvcConfigure..._spring boot项目中定制spring mvc的扩展功能,需要提供实现_____接口的配置类

前端开发一枚,入职前自学的感觉不难,为什么工作起来很吃力?_前端刚上班感觉工作做不了-程序员宅基地

文章浏览阅读2.2w次,点赞195次,收藏1.1k次。前言因为我是软件工程专业,学前端之前,学过 C/C++、Java、PHP、.net 成绩还不错基本都是90多分。感觉自己干后端也不吃力。实验室里面的项目都是前后都写。最爱 PHP,本以为以后就走上PHP后端工程师的道路了。由于项目需要的原因,后来渐渐开始学起 HTML、CSS、JavaScript 这些语法相关的东西。刚接触时没有感觉太大难度。当时就想着怎么把页面搞好看,搞各种动画炫技。写一个小球从下面弹出来的效果,换各种姿势弹出。当时觉得前端真的有意思,就入了前端的坑。入坑前,以为前端就是搞各种漂亮_前端刚上班感觉工作做不了

Ubuntu16.4 学习之安装中文输入法_language-support-installer怎么下载-程序员宅基地

文章浏览阅读1.6k次。1、先安装语言包 System Settings–>Language Support–>Install/Remove Languages选中chinese,(简体中文选中后无法点击Apply,再同时选中繁体中文)点击Apply应用即可,等待下载安装完成。2、安装ibus框架 sudo apt-get install ibus ibus-clutter ibus-_language-support-installer怎么下载

人大金仓 kingbase_v8_R3 JDBC连接_kingbase v8r3驱动类-程序员宅基地

文章浏览阅读4.1k次,点赞3次,收藏5次。人大金仓JDBC连接人大金仓v8_r3_JDBC驱动下载:链接:https://pan.baidu.com/s/1Oot2onweP2RMdGi3as65JQ提取码:1miymybatis连接人大金仓:#kingbasejdbc.driver=com.kingbase8.Driverjdbc.url=jdbc:kingbase8://localhost:54321/omtxh?zeroDateTimeBehavior=convertToNull&useUnicode=true&c_kingbase v8r3驱动类

随便推点

如何在Anaconda中安装Opencv和pillow_conda install pillow-程序员宅基地

文章浏览阅读2.3k次,点赞3次,收藏8次。Anaconda中库的安装基本可以分为以下三步:以管理员身份打开Anaconda Prompt,在该命令框中按顺序进行以下三步:建立一个虚拟环境激活环境,并安装库测试安装。下面以Opencv安装为例(也可以直接安装,无需建立虚拟环境)一、Opencv安装建立一个虚拟环境(我的python是3.6,可根据自己版本选择)conda create --name opencv-env python=3.6回车之后,结果如下:2. 激活环境,并安装cv2有的可以在代码前加入sourc_conda install pillow

Vue通过for循环随机生成不同的颜色或随机数_let r = math.floor(math.random() * 256); let g = m-程序员宅基地

文章浏览阅读1.4w次,点赞3次,收藏6次。需求:随机生成不同的如下图标的背景颜色方法:本来通过计算属性渲染出随机颜色,然而计算属性是一次性获取值,即使你把RandomColor引入v-for中也没有用,得到的只会永远是同一颜色,除非刷新页面颜色才改变,但是还是没法实现五颜六色的功能,因此,换了中思路,直接在v-for循环中加入随机生成颜色代码,即可快速得到不同颜色的方块。 computed: { RandomColo..._let r = math.floor(math.random() * 256); let g = math.floor(math.random() *

Java -verbose:gc命令_verbose:gc +printgcdetails-程序员宅基地

文章浏览阅读421次。Java -verbose:gc 中参数-verbose:gc 表示输出虚拟机中GC的详细情况.使用后输出如下:[Full GC 168K->97K(1984K), 0.0253873 secs]解读如下:  箭头前后的数据168K和97K分别表示垃圾收集GC前后所有存活对象使用的内存容量,说明有168K-97K=71K的对象容量被回收,括号内的数据1984_verbose:gc +printgcdetails

Raize Components简介-程序员宅基地

文章浏览阅读4.8k次。Raizer是一个超过120个通用VCL组件的用户界面开发包,用在Delphi和C++Builder开发环境中。革新的特征如自定义框架和先进的带有预览技术的设计编辑器给开发者带来方便。开发者用只要很少的时间和工作量就能开发出久经考验的用户界面。 组件组织Raize Components中的组件被分组到以下7个组件板上。Raize Pa_raize components

计算机网络波特率定义,传输速率——比特率和波特率-程序员宅基地

文章浏览阅读6k次,点赞2次,收藏10次。比特率是指每秒传送的比特(bit)数。单位为 bps(Bit Per Second),比特率越高,传送数据速度越快。声音中的比特率是指将模拟声音信号转换成数字声音信号后,单位时间内的二进制数据量,是间接衡量音频质量的一个指标。视频中的比特率(码率)原理与声音中的相同,都是指由模拟信号转换为数字信号后,单位时间内的二进制数据量。信道编码中,K符号大小的信源数据块通过编码映射为N符号大小的码字,则K/..._波特率和比特率的定义

<iOS>git-起步_gvs和git-程序员宅基地

文章浏览阅读402次。起步本章介绍开始使用Git前的相关知识。我们会先了解一些版本控制工具的历史背景,然后试着让Git在你的系统上跑起来,直到最后配置好,可以正常开始开发工作。读完本章,你就会明白为什么Git会如此流行,为什么你应该立即开始使用它。版本控制什么是版本控制?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,我们仅对保存着软件_gvs和git