Android LayerDrawable使用实例

 更新时间:2015年06月06日 10:56:51   投稿:junjie  
这篇文章主要介绍了Android LayerDrawable使用实例,本文讲解了LayerDrawable的作用、LayerDrawable的原理、LayerDrawableLayerDrawable的使用实例等,需要的朋友可以参考下

1.在Android项目开发的时候,经常看到很漂亮的UI界面,比如,当你点击一张图片被选中的时候,覆上一张透明的图片。表示被选中,区别与那些没有被选中的。这种是如何实现的呢?答案是LayerDrawable的使用出现的效果。下面是LayerDrawable的总结,若有不正确的地方,请大家指正。

2.简单的来说,LayerDrawable继承与Drawable,Drawable就是一个可画的对象,可能是一张位图BitmapDrawable,也可能是一个图形ShapeDrawable,还有可能是一个图层LayerDrawable。根据不同的画图需求创建相应的可画对象。

LayerDrawable系统将会按这些Drawable对象的数组顺序来绘制它们,索引最大的Drawable对象将会被绘制在最上面,定义LayerDrawable对象的XML文件的根元素layer-list ,该元素可以包含多个item元素。

3.代码实现如下:

方法一:XML方式:

复制代码 代码如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/ic_03" />
    </item>
    <item
        android:left="25dp"
        android:top="25dp">
        <bitmap
            android:gravity="center"
            android:src="@drawable/ic_03" />
    </item>
    <item
        android:left="50dp"
        android:top="50dp">
        <bitmap
            android:gravity="center"
            android:src="@drawable/ic_03" />
    </item>

</layer-list>

方法二:代码方式:MainActivity.java类:

复制代码 代码如下:

package com.scd.layerdrawabledemo;

import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;

public class MainActivity extends Activity {
    private ImageView mView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mView = (ImageView) findViewById(R.id.imageView1);
        // 创建资源对象
        Resources resources = getResources();
        // 创建数组对象
        Drawable[] layers = new Drawable[2];
        layers[0] = resources.getDrawable(R.drawable.ic_01);
        layers[1] = resources.getDrawable(R.drawable.ic_02);

        LayerDrawable layerDrawable = new LayerDrawable(layers);
        // 设置背景
        mView.setImageDrawable(layerDrawable);

    }
}

您可能感兴趣的文章:

相关文章

  • android判断相机图片朝向的简单方法

    android判断相机图片朝向的简单方法

    下面小编就为大家带来一篇android判断相机图片朝向的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • android使用Rxjava实现倒计时功能

    android使用Rxjava实现倒计时功能

    这篇文章主要为大家详细介绍了android使用Rxjava实现倒计时功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Android中用Builder模式自定义Dialog的方法

    Android中用Builder模式自定义Dialog的方法

    在任何软件操作系统中,Dialog即对话框都是一种重要的交互模式与信息载体,而Android系统本身的Dialog拥有固定的样式,并且在5.0后采用Material Design设计风格的Dialog美观大气。这篇文章将详细介绍Android中用Builder模式自定义Dialog的方法,有需要的可以参考借鉴。
    2016-10-10
  • Android实现弹出登陆框的方案

    Android实现弹出登陆框的方案

    最近在做一个项目,要用到登陆框,几经波折,最后用的是直接将Activity的Theme属性设置成Dialog,然后达到了我想要的效果。
    2014-07-07
  • Android 自定义Switch开关按钮的样式实例详解

    Android 自定义Switch开关按钮的样式实例详解

    本文主要讲的是在Android原生Switch控件的基础上进行样式自定义,内容很简单,但是在实现的过程中还是遇到了一些问题,在此记录下来,需要的朋友参考下吧
    2017-12-12
  • Android如何让WebView中的HTML5页面实现视频全屏播放

    Android如何让WebView中的HTML5页面实现视频全屏播放

    最近在工作遇到一个需求,需要让WebView中的HTML5页面实现视频全屏播放的效果,通过查找相关的资料终于找到了解决的方法,所以想着分享给大家,所以本文介绍了关于Android如何让WebView中的HTML5页面实现视频全屏播放的相关资料,需要的朋友可以参考学习。
    2017-04-04
  • Android应用开发SharedPreferences存储数据的使用方法

    Android应用开发SharedPreferences存储数据的使用方法

    SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据
    2012-11-11
  • Android编程之PopupWindow隐藏及显示方法示例(showAtLocation,showAsDropDown)

    Android编程之PopupWindow隐藏及显示方法示例(showAtLocation,showAsDropDown

    这篇文章主要介绍了Android编程之PopupWindow隐藏及显示方法,结合实例形式分析了showAtLocation及showAsDropDown方法实现PopupWindow控件隐藏及显示功能相关操作技巧,需要的朋友可以参考下
    2017-02-02
  • kotlin Context使用详解

    kotlin Context使用详解

    这篇文章主要介绍了kotlin Context使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Android编程UI设计之GridView和ImageView的用法

    Android编程UI设计之GridView和ImageView的用法

    这篇文章主要介绍了Android编程UI设计之GridView和ImageView的用法,结合实例形式较为详细的分析了Android中GridView和ImageView组件的相关方法使用技巧,需要的朋友可以参考下
    2016-01-01

最新评论