`
80245089
  • 浏览: 85595 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于ColorStateList

 
阅读更多
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;
    }
分享到:
评论

相关推荐

    TextViewColorSelector

    此外,项目中可能还提供了关于自定义`Drawable`和`StateListDrawable`的知识,这些可以帮助开发者实现更复杂的视图状态切换效果。`StateListDrawable`是`Drawable`的一个子类,它可以根据`View`的状态来显示不同的...

    SVG_2021_05_10.7z

    5. **ColorStateList**:`Tint`还可以使用`ColorStateList`,这样可以根据按钮的不同状态(如按下、聚焦等)显示不同的颜色。这样可以创建更具交互感的UI,而无需为每个状态准备单独的图片资源。 6. **Material ...

    Android应用源码之不用更换图片的点击效果.zip

    然而,如果要在点击时改变按钮的外观而不更换图片,我们可以利用颜色状态列表(ColorStateList)和自定义样式(Style)来实现。 首先,颜色状态列表(ColorStateList)是一种可以根据控件状态改变颜色的机制。例如...

    Android程序研发源码Android 屏幕颜色的变换源码.rar

    本资源"Android程序研发源码Android 屏幕颜色的变换源码.rar"提供了关于Android屏幕颜色变换的具体实现,这对于开发者来说是一个宝贵的参考资料。 在Android系统中,屏幕颜色的变换主要通过以下几种方式来实现: 1...

    安卓视图效果相关-MetroUI.rar

    4. **颜色和主题(Color and Themes)**:Metro UI注重色彩的运用,开发者需要熟悉如何设置颜色主题,包括使用ColorStateList、自定义颜色资源以及Material Design的颜色方案。 5. **触摸事件(Touch Event)**:为实现...

    QQ换肤源码实战Demo

    - 这通常通过反射或者自定义View的方式实现,对Android SDK中的特定类(如ColorStateList、Drawable)进行扩展,使得它们能够在运行时根据新的皮肤资源更新显示。 3. **皮肤切换逻辑**: - 用户触发皮肤切换操作...

    安卓进度条loadingprogress相关-自定义ProgressBar完整实现了下载的各个状态自定义圆角矩形进度条自定义修改下载控件颜色.rar

    `JavaApk源码说明.txt` 可能包含了关于代码结构、使用方法和注意事项的详细信息,`下载更多打包源码~.url` 是一个指向更多Android源码资源的链接,而`android自定义VIEW之下载控件` 应该是核心的Java源代码文件,...

    Android高级应用源码-MetroUI.zip

    最后,关于性能优化,源码可能包含了一些最佳实践,比如使用RecyclerView替代ListView来提高列表滚动的流畅性,或者使用ButterKnife进行视图绑定以减少代码冗余。还有,可能使用了DataBinding技术将数据和UI进行解耦...

    安卓Android源码——精仿QQ设置界面.zip

    通过分析这个项目,我们可以学到很多关于Android界面设计、布局管理、事件处理以及自定义View的知识点。 首先,QQ设置界面的设计通常涉及到多个Activity和Fragment的使用。Activity作为应用程序的基本单元,承载了...

    颜色选择器--所有资源和使用方式.zip

    在Android开发中,颜色处理不仅仅是选择器,还包括颜色状态选择器(ColorStateList)、颜色过滤、颜色空间转换等。开发者需要熟悉Android提供的颜色相关的API和工具,以便在应用中灵活地管理和呈现颜色。 综上所述...

    Android 颜色选取控件.zip源码资源下载

    关于Apache标签,可能是指该控件使用了Apache License 2.0开源协议,允许自由使用、修改和分发代码,但需要保留原作者的版权信息。 总的来说,Android颜色选取控件的实现涉及到了颜色理论、自定义视图绘制、事件...

    个性菜单单个

    总之,“个性菜单单个”是一个关于自定义底部菜单设计的实践案例,对于想要提升应用UI/UX的开发者来说,这是一个很好的学习资源。通过研究和理解这个项目,你可以掌握如何在Android应用中创建独特的用户交互元素,并...

    最新android v7-appcompat.jar

    8. **ColorStateList** 和 **DrawableCompat**:这些工具类帮助开发者在旧版本的Android上使用新版本的颜色选择器和可绘制对象的特性。 `使用说明.txt`文件通常会包含如何在项目中集成`android-support-v7-...

    android 夜间模式

    3. **动态资源**:通过在运行时修改布局文件中的颜色值或使用`ColorStateList`,可以根据当前模式动态调整颜色。 4. **夜间模式监听**:监听系统的夜间模式变化,例如注册BroadcastReceiver,当系统夜间模式状态...

    Android弹窗ToastDemo源码

    在Android开发中,`Toast`是一种轻量级的提示方式,用于向用户显示短暂...以上就是关于“Android弹窗ToastDemo源码”的核心知识点,通过这些自定义功能,开发者可以打造出与应用风格相匹配,且用户体验更好的提示信息。

    Android源码——按钮点击WIN8 磁贴效果.zip

    以下是关于这个主题的详细知识点: 1. **Android图形库和动画原理**: - Android系统提供了丰富的图形库和动画框架,开发者可以通过`Animation`类或者`Animator`类来创建复杂的动画效果。 - `ObjectAnimator`是`...

    android 自定义滑块 、android seekBar Demo

    以下是关于Android SeekBar自定义及应用的知识点详解: 1. ** SeekBar的基本使用**: SeekBar是Android SDK提供的一个进度条组件,通常有三个部分:滑块(thumb)、最大值(max)和当前值(progress)。开发者可以...

    Android Win8Style

    以下是关于Android模仿Win8样式的详细知识点: 1. **动态磁贴**:Windows 8引入了动态磁贴的概念,这是一种可自更新的应用程序图标,能够显示实时信息,如天气、新闻或通知。在Android中,开发者可以通过自定义View...

    安卓Android源码——style1.rar

    "style1.rar"这个压缩包文件很可能包含了关于Android样式(style)的源代码,这对于我们深入学习Android UI设计和定制至关重要。下面将详细介绍Android中的样式及其相关知识点。 一、Android样式(Style)基础 在...

    TintBar-master.zip

    总之,`TintBar-master`项目是一个关于在Android应用中实现透明标题栏的实例,它涵盖了Android窗口透明度、`Toolbar`使用、状态栏颜色控制以及版本兼容性处理等多个关键知识点。通过学习和研究这个项目,开发者可以...

Global site tag (gtag.js) - Google Analytics