Android ImageView的selector效果实例详解
Android ImageView的selector效果实例详解
在平时开发中如Button我们给它加上selector分别呈现pressed以及normal效果能给我们的用户体验上大大增色不少,可是我们当我们是用ImageView来”当作”一个一个”Button”的时候发现直接设置selector却不起作用,当然此时我们的应用就表现的暗淡了。那我们就只能找到方法来解决这种情况。
首先定义一个selector文件:
<selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true"> <shape android:shape="rectangle"> <corners android:radius="5dp" /> <solid android:color="#50000000"/> </shape> </item> <item > <shape android:shape="rectangle"> <corners android:radius="5dp" /> <solid android:color="#00000000"/> </shape> </item> </selector>
第二步,给ImageView的src设置该selector。
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:contentDescription="@null" android:scaleType="centerCrop" android:src="@drawable/share_image_selector" />
然后我们的ImageVIew上要呈现的图片资源就是用
mImageView.setBackgroundResource(R.drawable.icon);
也就是说我们是给imageview设置backgroundResource,然后给src设置我们设置好的selector,在视觉上我们的selector是显示在ImageView的上方,当然我们点击ImageView的时候就是触发selector,这个时候就会有按下的效果了。
以上就是Android ImageView的自定义开发,对于Android很多东西都需要重写,不美观肯定不是好的APP,本站还有很多关于Android开发的文章,请大家参阅,谢谢大家对本站的支持!
相关推荐
-
Android ImageView 不显示JPEG图片的问题解决
Android ImageView 不显示JPEG图片 今天在写一个小实例,ImageView在xml里面设置的是INVISIBLE,在代码里需要设置成setVisibility(View.VISIBLE),但图片没有显示出来,换成PNG或其它的JPEG格式的图片确可以正常的显示. 原因:显示的图片大小为5.39K,图片格式有损坏,所以不能正常显示. 解决:换一张图片,或重新生成JPEG图片. 如果还是不能正常显示,建议在设置完VISIBLE后,调用如下方法: iv.setVisibility(
-
Android手势ImageView三部曲 第二部
废话不多说了,还记得上一节Android手势ImageView三部曲(一)最后我们提及的那个框架么?这一节我们重点了掌握一下GestureDetector这个类相关的属性方法. 一.那么GestureDetector是干嘛的呢? 顾名思义,字面意思就是"手势检测器"的意思,还记得我们上一节中实现的GestureImageView么?我们在onTouchEvent中检测到了各种个样的手势(手指按下.抬起.什么时候属于拖拽.什么时候属于缩放)都是通过我们的计算得到的,但是有了Gesture
-
Android中ImageView实现选择本地图片并显示功能
运行结果: 模拟器图库就三张 没办法~画质挺感人~ 一个隐式意图 布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height=&qu
-
Android实现ImageView阴影和图层效果
本文实例为大家分享了ImageView阴影和图层效果的实现代码,供大家参考,具体内容如下 import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import and
-
Android自定义控件之圆形、圆角ImageView
一.问题在哪里? 问题来源于app开发中一个很常见的场景--用户头像要展示成圆的: 二.怎么搞? 机智的我,第一想法就是,切一张中间圆形透明.四周与底色相同.尺寸与头像相同的蒙板图片,盖在头像上不就完事了嘛,哈哈哈! 在背景纯色的前提下,这的确能简单解决问题,但是如果背景没有这么简单呢? 在这种不规则背景下,有两个问题: 1).背景图常常是适应手机宽度缩放,而头像的尺寸又是固定宽高DP的,所以固定的蒙板图片是没法保证在不同机型上都和背景图案吻合的. 2).在这种非纯色背景下,哪天想调整一下头像
-
Android ImageView实现图片裁剪和显示功能
首先在layout布局中设置按钮和一个ImageView <Button android:id="@+id/selectimagebtn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="选择图片" /> <Button android:id="@+id/cutimagebt
-
Android 自定义imageview实现图片缩放实例详解
Android 自定义imageview实现图片缩放实例详解 觉得这个自定义的imageview很好用 性能不错 所以拿出来分享给大家 因为不会做gif图 所以项目效果 就不好贴出来了 把代码贴出来 1.项目结构图 2.Compat.class package com.suo.image; import android.os.Build.VERSION; import android.os.Build.VERSION_CODES; import android.view.View; pu
-
Android自定义圆角ImageView控件
目前一些比较火的图片加载库虽然支持圆角加载,若你是接的别人作了一半的项目,刚好别人用的图片加载库刚好不支持圆角加载,那么这颗控件你值得拥有.(支持网络图片的加载) 1.创建CustomImageView 类在你的项目中(源码如下) import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.Bitmap.
-
Android中ImageView.src设置图片拉伸、填满控件的方法
问题 ImageView.src设置图片资源,图片不拉伸了,却有空隙部分: <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <ImageView andro
-
Android ImageView的selector效果实例详解
Android ImageView的selector效果实例详解 在平时开发中如Button我们给它加上selector分别呈现pressed以及normal效果能给我们的用户体验上大大增色不少,可是我们当我们是用ImageView来"当作"一个一个"Button"的时候发现直接设置selector却不起作用,当然此时我们的应用就表现的暗淡了.那我们就只能找到方法来解决这种情况. 首先定义一个selector文件: <selector xmlns:androi
-
Android 逐帧动画创建实例详解
Android 逐帧动画创建实例详解 前言: 我们看早期电影的时候,电影通常是一张一张播放,用我们现在专有名词来说,就是一帧帧来,安卓同样有这样动画效果的编排形式. 那么我们先定义逐帧动画xml文件 <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" an
-
Android 中 Tweened animation的实例详解
Android 中 Tweened animation的实例详解 Tweened animation有四种类型,下面主要介绍Scale类型. 运行效果如下: Android SDK提供了2种方法:直接从XML资源中读取Animation,使用Animation子类的构造函数来初始化Animation对象,第二种方法在看了Android SDK中各个类的说明就知道如何使用了,下面简要说明从XML资源中读取Animation.XML资源中的动画文件animation.xml内容为: <?xml ve
-
Android 滑动监听的实例详解
Android 滑动监听的实例详解 摘要: ScollBy,ScollTo是对内容的移动,view.ScollyBy是对view的内容的移动 view,ScollTo是对内容的移动(移动到指定位置),view.ScollyBy是对view的内容的移动(移动距离) 在次activity中,当手指点击TextView ,此时是ViewGroup 响应还是TextView响应呢? 代码实践: 在activity中重写onTouchEvent(): public boolean onTouchEvent
-
Android 中FloatingActionButton(悬浮按钮)实例详解
Android 中FloatingActionButton(悬浮按钮)实例详解 一.介绍 这个类是继承自ImageView的,所以对于这个控件我们可以使用ImageView的所有属性 二.使用准备, 在as 的 build.grade文件中写上 compile 'com.android.support:design:22.2.0' 三.使用说明 <android.support.design.widget.FloatingActionButton android:id="@+id/floa
-
Android 开发订单流程view实例详解
Android 开发订单流程view实例详解 先看看最终效果图: 怎么样,效果还是很不错的吧?群里有人说切四张图的.recycleview的.各种的都有啊,但是最简单的就是通过自定义view来实现了-接下来让我们来实现下这个(订单流程view). 首先我们定义好我们的自定义属性: attrs.xml <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleabl
-
Android 网络请求框架Volley实例详解
Android 网络请求框架Volley实例详解 首先上效果图 Logcat日志信息on Reponse Volley特别适合数据量不大但是通信频繁的场景,像文件上传下载不适合! 首先第一步 用到的RequetQueue RequestQueue.Java RequestQueue请求队列首先得先说一下,ReuqestQueue是如何对请求进行管理的...RequestQueue是对所有的请求进行保存...然后通过自身的start()方法开启一个CacheDispatcher线程用于缓存调度,开
-
微信小程序 利用css实现遮罩效果实例详解
微信小程序 利用css实现遮罩效果实例详解 实现效果图: 如图所示,使用css实现小程序的遮罩效果,代码如下 js文件代码: //index.js //获取应用实例 var app = getApp() Page({ data: { flag: false }, a: function(){ this.setData({flag: false}) }, b: function(){ this.setData({flag: true}) } }) wxss文件代码: .b1{position:fi
-
Android使用xml自定义图片实例详解
Android使用xml自定义图片实例详解 实现效果图: 白色圆角图片 bg_round_rectangle_white.xml <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-
随机推荐
- 如何自动更新导航栏?
- asp.net sqlconnection con.close和con.dispose区别
- struts2实现多文件上传的示例代码
- golang image图片处理示例
- 基于Cookie使用过滤器实现客户每次访问只登录一次
- CloudStack 创建主存储失败解决方案
- PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
- DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
- 如何用C语言、Python实现栈及典型应用
- 详解C# partial 关键字的使用
- RecyclerView上拉加载封装代码
- JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
- jQuery用FormData实现文件上传的方法
- Java中的数组基础知识学习教程
- Android通过Handler与AsyncTask两种方式动态更新ListView(附源码)
- Android编程之退出整个应用程序的方法
- C/C++中指针和引用之相关问题深入研究
- springmvc Rest风格介绍及实现代码示例
- laravel框架关于搜索功能的实现
- Pycharm 字体大小调整设置的方法实现