源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android LayerDrawable使用实例

  • 时间:2021-04-24 00:49 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android LayerDrawable使用实例
1.在Android项目开发的时候,经常看到很漂亮的UI界面,比如,当你点击一张图片被选中的时候,覆上一张透明的图片。表示被选中,区别与那些没有被选中的。这种是如何实现的呢?答案是LayerDrawable的使用出现的效果。下面是LayerDrawable的总结,若有不正确的地方,请大家指正。 2.简单的来说,LayerDrawable继承与Drawable,Drawable就是一个可画的对象,可能是一张位图BitmapDrawable,也可能是一个图形ShapeDrawable,还有可能是一个图层LayerDrawable。根据不同的画图需求创建相应的可画对象。 LayerDrawable系统将会按这些Drawable对象的数组顺序来绘制它们,索引最大的Drawable对象将会被绘制在最上面,定义LayerDrawable对象的XML文件的根元素layer-list ,该元素可以包含多个item元素。 3.代码实现如下: [b]方法一:XML方式:[/b]
[u]复制代码[/u] 代码如下:
<?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>
[b]方法二:代码方式:MainActivity.java类:[/b]
[u]复制代码[/u] 代码如下:
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);     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部