StateListDrawable】的更多相关文章

写过android的代码相信大家对Selector并不陌生吧,下面来看看这段xml文件是如何定义的 <?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 触摸时并且当前窗口处于交互状态 --> <item android:state…
StateListDrawable可以根据View的不同状态,更换不同的背景 可以应用如EditText,Button等中,以Button为例 系统中默认的按钮被按下的颜色和未点击时的颜色不一样,该种实现可以用Java代码和XML实现 以下是Java代码: //……前面对Button的声明略去 okBtn.setBackgroundDrawable(addStateDrawable(this, R.drawable.btn_normal, R.drawable.btn_selected, R.d…
StateListDrawable 用于组织多个 Drawable 对象.当使用 StateListDrawable 作为目标组件 的背景.前景图片时,StateListDrawable 对象所显示的  Drawable 对象会随目标组件状态的改 变而自动切换. 定义 StateListDrawable 对象的 XML 文件的根元素为<selector.../>,该元素可以包含多个<item.../>元素,该元素可指定如下属性.  android:color 或 android:d…
StateListDrawable可以根据View的不同状态,更换不同的背景 可以应用如EditText,Button等中,以Button为例 系统中默认的按钮被按下的颜色和未点击时的颜色不一样,该种实现可以用Java代码和XML实现 以Java代码: //……前面对Button的声明略去 okBtn.setBackgroundDrawable(addStateDrawable(this, R.drawable.btn_normal, R.drawable.btn_selected, R.dra…
//--------------------------------------------------------------------------------------------------------------------------------- /*--------------- normalDrawable begin ---------------*/ GradientDrawable normalDrawable = new GradientDrawable(); //…
StateListDrawable用于组织多个Drawable对象.当使用StateListDrawable作为目标组件的背景.前景图片时,StateListDrawable对象所显示的Drawable对象会随目标组件状态的改变而自动切换. 定义StateListDrawable对象的XML文件的根元素为<selector.../>,该元素可以包含多个<item.../>元素,该元素可指定如下属性. android:color或android:drawable:指定颜色或Drawa…
StatelistDrawable资源 代码示例 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:color="f44"/&…
项目中,遇到相同样式的Button,只是stroke颜色不一样.为了实现一个,就得写两个shape文件,一个selector文件:多个还得重复写. 解决方法: 结合StateListDrawable给button动态设置背景 public void initButton() { GradientDrawable fDrawable = (GradientDrawable) getResources().getDrawable(R.drawable.circle_button); fDrawabl…
前言 本篇Blog将记录关于Android应用资源中最经常使用的一个Drawable资源--StateListDrawable,本来说应当继续写UI方面的内容,突然跳到应用资源这边,主要是由于之前写界面的时候有一个小效果不知道怎样实现.Android自带的Button点击的时候会有一个效果,即Button按下的时候背景色会发生改变,而Button弹起的时候背景色又恢复到原来的样子. 这个效果看似非常easy.但着实不知道怎么做,由于实际应用的时候使用Button一般会改变背景,但仅仅给Butto…
selector <?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 触摸时并且当前窗口处于交互状态 --> <item android:state_pressed="true" android:state_w…
Drawable子类之——StateListDrawable (选择器) https://www.jianshu.com/p/7257ce82c762 本文出自 “阿敏其人” 简书博客,转载或引用请注明出处. StateListDrawable对应的XML根元素是<selector>,它可以根据View的状态的不同匹配展示不同的Drawable.比如点击时背景是红色,不点击时时白色,所以StateListDrawable鲳鱼点击事件的背景. 我们常常给按钮的按下的时候设定一个特殊的背景,大概如…
有问题的代码: StateListDrawable background = new StateListDrawable(); CircleDrawable pressedDrawable = new CircleDrawable(PluginRely.getColor(R.color.button_pressed)); CircleDrawable drawable = new CircleDrawable(PluginRely.getColor(R.color.button_unpresse…
Android中StateListDrawable支持的状态 android:state_active 代表是否处于激活状态 android:state_checked  代表是否处于已勾选状态 android:state_checkable               代表是否处于可勾选状态          android:state_enabled    代表是否处于可用状态 android:state_first 代表是否处于开始状态 android:state_focused 代表是否…
StateListDrawable用于组织多个Drawable对象,当使用StateListDrawable作为目标组件的 背景和前景图片时,StateListDrawable对象所显示的Drawable对象会随着目标组件状态的改变而改变, 说白了就是给某个组件添加颜色选择器, 比如一个按钮 按下和离开状态会有不同颜色 StateListDrawable支持的状态如下 举一个例子, 当EditText获取焦点时,显示红色, 失去焦点时显示默认黑色 在res/drawable/创建myImage.…
前言 StateListDrawable是与xml中的selector属性对应代码实现类,它需要配合GradientDrawable的使用,如果你还不了解GradientDrawable可以参考我的另一篇博客:https://www.cnblogs.com/guanxinjing/p/11142599.html 配置对照表 android:state_pressed=["true" | "false"]  按下状态 android:state_focused=[&q…
1.介绍 2.xml文件属性介绍 3.实例演示 <1>新建drawable文件 app--->src---->main---->res---->drawable ,选中drawable文件夹,右击new--->drawable resource file <2>源码 (1)主界面 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns…
可供设置的属性如下: drawable:引用的Drawable位图,我们可以把他放到最前面,就表示组件的正常状态~ state_focused:是否获得焦点 state_window_focused:是否获得窗口焦点 state_enabled:控件是否可用 state_checkable:控件可否被勾选,eg:checkbox state_checked:控件是否被勾选 state_selected:控件是否被选择,针对有滚轮的情况 state_pressed:控件是否被按下 state_ac…
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" android:constantSize=["true" | "false"] android:dither=["true" | "false&q…
SateListDrawable,可包含一个 Drawable 数组,让目标组件在不同状态显示不同 Drawable.对应的 xml 文件的根节点 示例 edittext_focused.xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <it…
转载 http://www.toutiao.com/i6362292864885457410/?tt_from=mobile_qq&utm_campaign=client_share&app=news_article&utm_source=mobile_qq&iid=6611409663&utm_medium=toutiao_android getParent().requestDisallowInterceptTouchEvent(true); 解释:一次点击事件…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ff5d53bbcffd68c64411 作者:黄进——QQ音乐团队 摆脱XML布局文件 相信每一个Android开发者,在接触“Hello World”的时候,就形成了一个观念:Android UI布局是通过layout目录下的XML文件定义的.使用XML定义布局的方式,有着结构清晰.可预览等优势,因而极为通用.可是,偏偏在某些场景下,布局是需要根据运行时的状态变化的,…
转载请注明出处http://blog.csdn.net/harryweasley/article/details/42290595,谢谢. 以前一直想着,ViewPager中间的那个横线怎么跟着屏幕的滑动而滑动,如下图所示: 我们可以看到中间的那个红线在跟着屏幕滑动而滑动 现在github上已经有了这个开源项目,所以我们可以直接拿来用,很方便很实用.文章末尾我将放上资源,可以直接下载. 官网地址:https://github.com/astuetz/PagerSlidingTabStrip 关于…
第五章 Android使用统一的Intent对象来封装“启动意图”,不管是启动Activity.Service组件.或者BroadcastReceiver等,提供了一致的编程模型.Intent设计有点类似于Struts2框架中的逻辑视图设计. Intent还是应用程序组件之间通信的重要媒介:数据封装成Bundle对象,Intent携带Bundle对象. 5.1 Intent对象详解 5.2 Intent的属性及intent-filter配置 5.2.1 Component属性 5.2.2 Act…
public static StateListDrawable makeSelector(Context context, int idNormal, int idPressed, int idFocused) { StateListDrawable bg = new StateListDrawable(); Drawable normal = context.getResources().getDrawable(idNormal); Drawable pressed = context.get…
一.工程打成JAR包. 1.       eclipse下有一工程JsnTxJar,右键工程名选择Export. 选择Java->JAR file 下图所示左边一栏只勾选src,右边一栏都不用勾选.(如果assets中有文件,assets选不选均可.如果不勾选,那么assets中的文件将不被打进JAR包,随后可将这些文件复制到使用这个JAR包的工程assets目录中.如果勾选,assets中的文件将被打进JAR包,如果使用这个JAR包的工程assets目录下还有相同的文件,在运行时就会报错文件重…
[原文]http://blog.csdn.net/qinjuning 整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为 根据之前设置的状态,判断是否需要重新计算视图大小(measure).是否重新需要安置视图的位置(layout).以及是否需要重绘 (draw),其框架过程如下:   步骤其实为host.layout()  接下来温习一下整个View树的结构,对每个具体View对象的操作,其实就是个递归的实…
Android把可绘制的对象抽象为Drawable,不同的图形图像资源就代表着不同的drawable类型.Android FrameWork提供了一些具体的Drawable实现,通常在代码中都不会直接接触Drawable的实现类.         在实际的开发过程中,会把使用到的资源都放置在res/drawable目录,剩下的工作交给Android SDK 就行了,当需要使用图片资源的时候,可以使用@drawable标志在xml中引用drawable资源就行,也可以在代码中使用id引用这些dra…
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17045157 在前面一篇文章中,我带着大家一起从源码的层面上分析了视图的绘制流程,了解了视图绘制流程中onMeasure.onLayout.onDraw这三个最重要步骤的工作原理,那么今天我们将继续对View进行深入探究,学习一下视图状态以及重绘方面的知识.如果你还没有看过我前面一篇文章,可以先去阅读 Android视图绘制流程完全解析,带你一步步深入了解View(二) . 相信…
目录: 第1章 Android应用与开发环境1.1 Android的发展和历史1.1.1 Android的发展和简介1.1.2 Android平台架构及特性1.2 搭建Android开发环境1.2.1 下载和安装Android SDK1.2.2 安装Eclipse和ADT插件1.3 Android常用开发工具的用法1.3.1 创建.删除和浏览AVD1.3.2 使用Android模拟器(Emulator)1.3.3 使用DDMS进行调试android调试输出1.3.4 Android Debug…
开发中经常需要使用Shape和Selector,如果每个都用xml设置的话,会占用apk大小,同时命名多了也会混乱,使用代码来设置会方便很多. 需要用到2个类:GradientDrawable和StateListDrawable 相关API: setColor(rgb); //填充颜色setGradientType(GradientDrawable.RECTANGLE); //shape矩形setCornerRadius(radius); //四周圆角半径setStroke(1,strokenC…