首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 通过 xml 和 Java 两种方式调整 EditText 光标样式

和尚我有个小需求是根据主题配色更改 EditText 中输入框光标的颜色,网上查了一些资料,大部分都是直接用的 xml 方式在做调整,但是和尚我需要的是在 Java 代码中动态调整光标颜色。...虽然是一个很简单的东西,但是和尚我在测试中还是遇到了不少的小问题,现在简单整理一下,希望对于遇到相同问题的朋友有所帮助。...设置一个 EditText,通过 Java 方式调整光标颜色,此效果为和尚我期待的效果,将上个步骤中 Tips 方式调整即可; ?...android:textCursorDrawable="@drawable/editext_cursor" 样式,之后在 Java 代码动态修改光标颜色和宽度。...GradientDrawable myGrad2 = (GradientDrawable) getResources().getDrawable(R.drawable.editext_cursor);

3.7K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    drawable用Kotlin应该这样写

    那么通过代码直接创建这些drawable,可以在一定程度上降低这些副作用。本篇介绍用kotlin DSL简洁的语法特性来实现常见的drawable. 代码对应效果预览 ? ? ? ? ?...集成和使用 在项目级的build.gradle文件中添加仓库Jitpack: allprojects { repositories { ......由于创建shape等需要设置各种属性来构建,比较符合build设计模式,那我们首先封装build模式的shapeBuilder,这样做虽然代码比起直接使用apply{}要多,但是可以让纯java项目用起来很舒服...private var mShape = GradientDrawable.RECTANGLE private var mSolidColor = 0 /**分别设置四个角的圆角*/...xml方式可以提升性能 dsl方式比起build模式和调用方法设置更加简洁符合kotlin风格 通过合适的代码管理可以复用这些代码,比xml管理方便 缺点: 没有as的预览功能,只有通过上机观测 api

    94620

    Kotlin 风格,应该这样写drawable !

    那么通过代码直接创建这些drawable,可以在一定程度上降低这些副作用。本篇介绍用kotlin DSL简洁的语法特性来实现常见的drawable。...代码对应效果预览 image.png image.png image.png image.png 集成和使用 在项目级的build.gradle文件种添加仓库Jitpack: allprojects {...private var mShape = GradientDrawable.RECTANGLE private var mSolidColor = 0 /**分别设置四个角的圆角*/...builder).build() } //使用方法 val drawable = shapeDrawable{ ... } 备注:dsl用法参见juejin.cn/post/695318… 中dsl...xml方式可以提升性能 dsl方式比起build模式和调用方法设置更加简洁符合kotlin风格 通过合适的代码管理可以复用这些代码,比xml管理方便 缺点: 没有as的预览功能,只有通过上机观测 api

    53720

    2014-11-6Android学习------Android 仿真翻页效果实现--------贝塞尔曲线(二)

    我学习Android都是结合源代码去学习,这样比较直观,非常清楚的看清效果,觉得很好,今天的学习源码是网上找的源码 百度搜就知道很多下载的地方 网上源码的名字叫:Android仿真翻页效果.zip我的博客写的比较乱...,要想实现这样的效果, 首先必须要知道一个知识点,就是:渐变式的背景 GradientDrawable 关于这个类有一些常量: GradientDrawable.Orientation BL_TR...(GradientDrawable.LINEAR_GRADIENT); } 好了,上面的代码就处理完我们需要预定的背景了 二.接下来首先需要考虑的是,如何把这些背景画到画布上去呢。...上面的函数是把弧度转换成度, java.lang.Math.atan2(double y,double x)返回正切值 tan(θ) = y / x 返回值为笛卡尔平面中的角度,该角度由 x 轴和起点为原点...} 到这里,整个代码就分析完毕了,实现的效果就如文章开头给出的效果 源码地址:http://download.csdn.net/detail/u014737138/8133913

    1.5K10

    Android GradientDrawable(shape标签定义) 静态使用和动态使用(圆角,渐变实现)

    GradientDrawable的静态使用(xml中使用shape标签定义)   在drawable中创建一个xml文件,在布局文件中直接引用这个xml文件即可 GradientDrawable并使用   用shape标签定义的xml,最终都是转化为GradientDrawable对象,而不是ShapeDrawable, 也不是起类型对应的 OvalShape...GradientDrawable可以动态设置类型如下图所示,跟xml文件中类型android:shape的值一一对应。 ?...,中间夜色,结束颜色 GradientDrawable gradientDrawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM...动态改变GradientDrawable的属性   既然GradientDrawable都能动态创建,那么肯定能过动态修改,我们可以通过先获取view上设置的background drawable

    3.7K90

    代码中的减法

    还有些经验丰富的程序员告诉我们“负责任的工程师在离职前会删代码”也佐证了这一点,他们利用最后一段空闲时间,梳理程序的脉络,删除冗余的逻辑,让代码更加的清晰,方便接手的人维护。   ...在对后端代码梳理和优化后,发现了大量的冗余代码,以及不需要的过程,删除这些逻辑后,让storm程序能消耗qps高达3W的数据,并且例行任务也能按时完成了。...删除这些逻辑后,代码精神了不少   业务快速发展的时候,为了快速的完成任务,会有很多代码写的不是很友好,一段时间后,就很难维护了。这个时候就要采取措施,以免大规模风险爆发。...在代码构建或者维护过程中,都可以参考以下几点。 抽象公共库   将常用的方法和变量,抽象到公用库中,不仅可以减少代码量,也降低了维护成本。...公共库中的类,还更容易发现潜在的错误,因为该方法会被不同的人在不同场合review,增加了bug的曝光量 采用开源的库   和抽象公共库类似,只不过这些库不是自己写的,而是由公司的其他团队或者开源社区提供

    87210

    Android KotlinJava 动态设置 shapedrawable 等状态效果

    和尚我最近遇到一个小需求,程序里面有个别页面,需要动态的调整某个页面的样式,包括一键变灰等效果。 以前页面是用 shape 和 drawable 之类实现的效果。...现在需要用 Kotlin/Java 代码实现动态修改。由于和尚我技术浅浅,仅整理一下遇到一些坑。 ---- 日常应用的样式: 1. 圆角边框 默认 shape.xml 方式: <?...bg.addState(new int[] {}, normal); return bg; } Tips: StateListDrawable 设置 View 绘制不同状态背景图片,和尚我测试中,...background = myGrad Tips: GradientDrawable 对象中,若设置四个圆角一致时,可设置 cornerRadius 属性;若设置部分圆角时,可设置 cornerRadii...Kotlin 代码效果 ? 一键灰度 GitHub 实例 ----

    2K41

    WebGL开发中的代码优化

    WebGL 开发中的代码优化对于提升应用程序的性能至关重要,尤其是在移动设备和低端硬件上。优化可以减少 CPU 和 GPU 的负载,提高帧率,并改善用户体验。...以下是一些 WebGL 开发中常用的代码优化技巧。1. 减少绘制调用 (Draw Calls):合批 (Batching): 将使用相同材质和着色器的物体合并成一个绘制调用。...使用索引缓冲 (Index Buffer): 索引缓冲可以减少顶点数据的重复存储,提高渲染效率。顶点属性优化: 仅使用必要的顶点属性。例如,如果不需要法线信息,就不要在顶点数据中包含法线。4....使用 IL2CPP 脚本后端: IL2CPP 可以将 C# 代码转换为 C++ 代码,提高运行效率。使用 Addressables 或 AssetBundle 进行资源管理: 这可以减少资源加载时间。...通过以上优化技巧,可以显著提高 WebGL 应用程序的性能,提升用户体验。在实际开发中,需要根据具体的项目需求和性能瓶颈选择合适的优化方法。

    10010

    Rust中的代码组织:packagecratemod

    从最后2行的输出来看,运行的是main.rs中的方法,即:main2.rs中的main函数,并未识别成入口,继续折腾,在src下创建目录bin,然后把main.rs以及main2.rs都移动到bin目录...可以先记一条规则 :如果模块x与main方法在一个.rs文件中,且x处于最外层,main方法可以调用x中的方法。...再微调下代码: mod a { //修改:去掉pub fn foo_a_2(){ println!...又是一条规则 :子模块可以调用父模块中的private函数,但是反过来是不行的 (通俗点讲:老爸的钱,就是儿子的钱,但是儿子的钱,除非儿子主动给老爸,否则还是儿子的!...注意main.rs的首二行: mod a; mod b; 与常规mod不同的是,mod x后,并没有{...}代码块,而是;号,rust会在同级目录下,默认去找x.rs,再来看main方法: fn main

    1.6K10

    Python代码中的偏函数

    也就是说,在代码实现的过程中,虽然我们实现的一个函数可能带有很多个变量,但是可以用偏函数的形式把其中一些不需要拆分和变化的变量转变为固有变量。比较典型的两个例子是计算偏导数和多进程优化。...虽然大部分支持自动微分的框架都有相应的支持偏导数的接口,多进程操作中也可以指定额外的args,但是这些自带的方法在形式上都是比较tricky的,感觉并不如使用偏函数优雅和简洁。...这里我们主要介绍python中可能会用到的偏函数功能--partial。 Partial简单案例 我们先来一个最简单的乘法函数 f(x,y)=xy 。...虽然在Jax的grad函数中,支持argnums这样的参数配置,但从代码层面角度来说,总是显得可读性并不好。...在这些相关的场景下,我们用partial函数更多时候可以使得代码的可读性更好,在性能上其实并没有什么提升。

    20810
    领券