ColorStateList用于加载动态设置背景或者颜色的XML.
1.加载如下的XML
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/white" />
<item android:state_pressed="false" android:color="@color/red" />
<item android:state_focused="true" android:color="@color/gray" />
<item android:state_focused="false" android:color="@color/d_blue" />
</selector>
2.也可以直接通过代码实现以上XML的效果.如下
使用构造器
public ColorStateList(int[][] states, int[] colors)
具体例子:
private ColorStateList createSelector() {
int statePressed = android.R.attr.state_pressed;
int stateFocesed = android.R.attr.state_focused;
int[][] state = {{statePressed},{-statePressed},{stateFocesed},{-stateFocesed}};
int color1 = getResources().getColor(R.color.white);
int color2 = getResources().getColor(R.color.red);
int color3 = getResources().getColor(R.color.gray);
int color4 = getResources().getColor(R.color.d_blue);
int[] color = {color1, color2, color3, color4};
ColorStateList colorStateList = new ColorStateList(state,color);
return colorStateList;
}
分享到:
相关推荐
此外,项目中可能还提供了关于自定义`Drawable`和`StateListDrawable`的知识,这些可以帮助开发者实现更复杂的视图状态切换效果。`StateListDrawable`是`Drawable`的一个子类,它可以根据`View`的状态来显示不同的...
5. **ColorStateList**:`Tint`还可以使用`ColorStateList`,这样可以根据按钮的不同状态(如按下、聚焦等)显示不同的颜色。这样可以创建更具交互感的UI,而无需为每个状态准备单独的图片资源。 6. **Material ...
然而,如果要在点击时改变按钮的外观而不更换图片,我们可以利用颜色状态列表(ColorStateList)和自定义样式(Style)来实现。 首先,颜色状态列表(ColorStateList)是一种可以根据控件状态改变颜色的机制。例如...
本资源"Android程序研发源码Android 屏幕颜色的变换源码.rar"提供了关于Android屏幕颜色变换的具体实现,这对于开发者来说是一个宝贵的参考资料。 在Android系统中,屏幕颜色的变换主要通过以下几种方式来实现: 1...
4. **颜色和主题(Color and Themes)**:Metro UI注重色彩的运用,开发者需要熟悉如何设置颜色主题,包括使用ColorStateList、自定义颜色资源以及Material Design的颜色方案。 5. **触摸事件(Touch Event)**:为实现...
- 这通常通过反射或者自定义View的方式实现,对Android SDK中的特定类(如ColorStateList、Drawable)进行扩展,使得它们能够在运行时根据新的皮肤资源更新显示。 3. **皮肤切换逻辑**: - 用户触发皮肤切换操作...
`JavaApk源码说明.txt` 可能包含了关于代码结构、使用方法和注意事项的详细信息,`下载更多打包源码~.url` 是一个指向更多Android源码资源的链接,而`android自定义VIEW之下载控件` 应该是核心的Java源代码文件,...
最后,关于性能优化,源码可能包含了一些最佳实践,比如使用RecyclerView替代ListView来提高列表滚动的流畅性,或者使用ButterKnife进行视图绑定以减少代码冗余。还有,可能使用了DataBinding技术将数据和UI进行解耦...
通过分析这个项目,我们可以学到很多关于Android界面设计、布局管理、事件处理以及自定义View的知识点。 首先,QQ设置界面的设计通常涉及到多个Activity和Fragment的使用。Activity作为应用程序的基本单元,承载了...
在Android开发中,颜色处理不仅仅是选择器,还包括颜色状态选择器(ColorStateList)、颜色过滤、颜色空间转换等。开发者需要熟悉Android提供的颜色相关的API和工具,以便在应用中灵活地管理和呈现颜色。 综上所述...
关于Apache标签,可能是指该控件使用了Apache License 2.0开源协议,允许自由使用、修改和分发代码,但需要保留原作者的版权信息。 总的来说,Android颜色选取控件的实现涉及到了颜色理论、自定义视图绘制、事件...
总之,“个性菜单单个”是一个关于自定义底部菜单设计的实践案例,对于想要提升应用UI/UX的开发者来说,这是一个很好的学习资源。通过研究和理解这个项目,你可以掌握如何在Android应用中创建独特的用户交互元素,并...
8. **ColorStateList** 和 **DrawableCompat**:这些工具类帮助开发者在旧版本的Android上使用新版本的颜色选择器和可绘制对象的特性。 `使用说明.txt`文件通常会包含如何在项目中集成`android-support-v7-...
3. **动态资源**:通过在运行时修改布局文件中的颜色值或使用`ColorStateList`,可以根据当前模式动态调整颜色。 4. **夜间模式监听**:监听系统的夜间模式变化,例如注册BroadcastReceiver,当系统夜间模式状态...
在Android开发中,`Toast`是一种轻量级的提示方式,用于向用户显示短暂...以上就是关于“Android弹窗ToastDemo源码”的核心知识点,通过这些自定义功能,开发者可以打造出与应用风格相匹配,且用户体验更好的提示信息。
以下是关于这个主题的详细知识点: 1. **Android图形库和动画原理**: - Android系统提供了丰富的图形库和动画框架,开发者可以通过`Animation`类或者`Animator`类来创建复杂的动画效果。 - `ObjectAnimator`是`...
以下是关于Android SeekBar自定义及应用的知识点详解: 1. ** SeekBar的基本使用**: SeekBar是Android SDK提供的一个进度条组件,通常有三个部分:滑块(thumb)、最大值(max)和当前值(progress)。开发者可以...
以下是关于Android模仿Win8样式的详细知识点: 1. **动态磁贴**:Windows 8引入了动态磁贴的概念,这是一种可自更新的应用程序图标,能够显示实时信息,如天气、新闻或通知。在Android中,开发者可以通过自定义View...
"style1.rar"这个压缩包文件很可能包含了关于Android样式(style)的源代码,这对于我们深入学习Android UI设计和定制至关重要。下面将详细介绍Android中的样式及其相关知识点。 一、Android样式(Style)基础 在...
总之,`TintBar-master`项目是一个关于在Android应用中实现透明标题栏的实例,它涵盖了Android窗口透明度、`Toolbar`使用、状态栏颜色控制以及版本兼容性处理等多个关键知识点。通过学习和研究这个项目,开发者可以...