面试题:为一个充满整个屏幕的LinearLayout布局指定背景图,是否可以让背景图不充满屏幕?请用代码描述实现过程。

解决此题,可以使用嵌入(Inset)图像资源来指定图像,然后像使用普通图像资源一样使用嵌入图像资源。

语法如下:

<?xml version="1.0" encoding="utf-8"?>
<insetxmlns:android="http://schemas.android.com/apk/res/android"android:drawable="@drawable/drawable_resource"android:insetTop="dimension"android:insetRight="dimension"android:insetBottom="dimension"android:insetLeft="dimension" />

元素解释:

android:insetTop:图像距离上边的距离。

android:insetRight:图像距离右侧的距离。

android:insetBottom:图像距离底边的距离。

android:insetLeft:图像距离左侧的距离。

下面使用具体的实例来看具体的效果

首先定义了一个嵌入图像资源,res/drawable/inset.xml

<?xml version="1.0" encoding="utf-8"?><inset xmlns:android="http://schemas.android.com/apk/res/android"android:drawable="@drawable/background"android:insetBottom="50dp"android:insetLeft="50dp"android:insetRight="50dp"android:insetTop="50dp" />

其中android:drawable="@drawable/background"引用的是drawable目录下的background.jpg文件,图像如下所示:

然后直接将inset.xml文件当做普通图像资源使用即可,代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" android:background="@drawable/inset"><!-- 使用inset.xml作为背景图 --><Buttonandroid:id="@+id/buttonRingtone"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="设置来电铃声" /><Buttonandroid:id="@+id/buttonAlarm"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="设置闹钟铃声" /><Buttonandroid:id="@+id/buttonNotification"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="设置通知铃声" /><EditTextandroid:id="@+id/text"android:layout_width="match_parent"android:layout_height="wrap_content" ><!-- 当前控件处于焦点状态 --><requestFocus /></EditText>
</LinearLayout>

下面是具体的效果图,可以看到背景图没有占满全屏幕:


                            ====================================================================================

  作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

  转载请保留原文地址:http://blog.csdn.net/ouyang_peng

====================================================================================

转载于:https://www.cnblogs.com/ouyangpeng/p/8538004.html

我的Android进阶之旅------Android嵌入图像InsetDrawable的用法相关推荐

  1. 我的Android进阶之旅------Android利用Sensor(传感器)实现水平仪功能的小例

    这里介绍的水平仪,指的是比较传统的气泡水平仪,在一个透明圆盘内充满液体,液体中留有一个气泡,当一端翘起时,该气泡就会浮向翘起的一端.    利用方向传感器返回的第一个参数,实现了一个指南针小应用.   ...

  2. 我的Android进阶之旅------Android利用温度传感器实现带动画效果的电子温度计

    要想实现带动画效果的电子温度计,需要以下几个知识点: 1.温度传感器相关知识. 2.ScaleAnimation动画相关知识,来进行水印刻度的缩放效果. 3.android:layout_weight ...

  3. android服务进阶,我的Android进阶之旅------Android服务的生命周期回调方法

    先引用一段官网上的文字 ======================================================================================== ...

  4. 我的Android进阶之旅------Android项目目录结构分析

    此文章来自"博客园"博主,仅在此借鉴,学习 1.HelloWorld项目的目录结构 1.1.src文件夹 1.2.gen文件夹 1.3.Android 2.1文件夹 1.4.ass ...

  5. 我的Android进阶之旅------Android二级ListView列表的实现

    实现如下图所示的二级列表效果 首先是在布局文件中,布局两个ListView,代码如下: <LinearLayout xmlns:android="http://schemas.andr ...

  6. 我的Android进阶之旅------Android自定义View来实现解析lrc歌词并同步滚动、上下拖动、缩放歌词的功能...

    前言 一LRC歌词文件简介 1什么是LRC歌词文件 2LRC歌词文件的格式 LRC歌词文件的标签类型 1标识标签 2时间标签 二解析LRC歌词 1读取出歌词文件 2解析得到的歌词内容 1表示每行歌词内 ...

  7. 我的Android进阶之旅------android Matrix图片随意的放大缩小,拖动(转)

    step1:新建一个项目DragAndZoom,并准备一张照片放在res/drawable-hdpi目录下,如下图所示: step2: 设置应用的UI界面,在main.xml中设置: [html] v ...

  8. 我的Android进阶之旅------Android Gusture 手势识别小案例

    Step1: 生成一个Android Gusture Builder程序用于画Gusture然后存储起来用于其它的项目 首先导入  android SDK \android-sdk-windows\s ...

  9. 我的Android进阶之旅------Android中高低API版本兼容使用@TargetApi或者@SuppressLint(NewApi)...

    Android中高低API版本兼容使用@TargetApi或者@SuppressLint("NewApi") 例如:AndroidManifest.xml中,我们配置了sdk版本的 ...

最新文章

  1. 我为何爱读代码?你为何也应当爱?
  2. 上海找python工作容易吗_Python程序员去上海工作有多难?
  3. [FWT] 时隔一年再回首FWT(快速沃尔什变换),我终于不再是个门外汉
  4. Deep Speaker: an End-to-End Neural Speaker Embedding System
  5. html5视频播放,实现防止下载(一)
  6. 数据结构 实验三 树的应用
  7. MATLAB实现遥感图像分类——K均值算法
  8. html怎么在手机打不开,手机的浏览器打不开网页怎么办
  9. uboot2021.10-nandflash-1.nand_fill_oob
  10. java zip文件加密_java自动压缩文件并加密
  11. 【大杂烩】杂7杂8的东西
  12. SQL 排序时对Null值的处理
  13. [二分查找] [luoguP3500] [POI2010] TES-Intelligence Test
  14. 公式编辑器如何使用详细图解
  15. java游戏开发杂谈 - 实现游戏主菜单
  16. 极光推送SDK引起的内存泄露排查
  17. 照着别人的敲代码来学习编程好吗
  18. Catalina 10.15.7屏蔽更新提示
  19. es - elasticsearch - aggs - pipeline - derivative
  20. 2019ICPC秦皇岛I Invoker

热门文章

  1. 百度PHP高级顾问惠新宸:PHP在百度的发展历程
  2. C#精髓【月儿原创】第三讲 C#泛型有什么好处
  3. Ubuntu上通过android toolchain交叉编译Valgrind操作步骤
  4. Windows7上配置Python Protobuf 操作步骤
  5. UTF-8 CPP的使用
  6. 澳洲计算机学,2020年澳洲计算机科学专业工作好找吗
  7. ab753变频器参数怎么拷贝到面板_【干货】一文让你从入门小白进阶为变频器高手...
  8. 怎么彻底删除电脑上的软件_你的电脑有救了:1 个神器几个进阶方法彻底删除流氓软件!...
  9. c语言中的普通字符包括什么,【判断题】C语言中的字符常量通常有两种形式:普通字符和转义字符。...
  10. root 123 mysql_MySQL常用命令