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

我能把可绘制的id放在string.xml中吗?

可以将可绘制的id放在string.xml中,但这并不是推荐的做法。string.xml主要用于存储字符串资源,而不是用于存储可绘制资源的id。通常情况下,可绘制资源的id应该放在res/drawable目录下的XML文件中,例如res/drawable/my_drawable.xml。

在my_drawable.xml文件中,可以定义各种可绘制资源,如矢量图形、位图、形状等,并为其分配一个唯一的id。然后,在代码中可以通过R.drawable.my_drawable来引用这个可绘制资源。

这种做法的优势是可以更好地组织和管理可绘制资源,使得代码更加清晰和易于维护。同时,这也符合Android开发的最佳实践。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iot
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙(Metaverse):https://cloud.tencent.com/product/metaverse

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

浅谈Android编码规范及命名规范

文件   在我看来,当一个文本信息出现次数大于一次时候就必须要使用string.xml   比如一个保存按钮 , 不规范写法:       <Button android:id...文件: 保存   这种写法,往后需要修改,只需要在string.xml文件修改一行代码 便实现了整个APP该文本内容修改。   ...我们都知道,一个Activity中有基本都有的操作:     ①、初始化变量     ②、初始化控件     ③、设置监听事件     ④、加载网络数据并显示   那么就可以将以上代码分门别类放在这几个方法...互相传值不大会,这里推荐一个解决方案:Android项目实战(十三):浅谈EventBus , 对来说是项目必备,但是也要合理运用   6、Activity尽量不要使用内部类     这里以RecyclerView...不规范做法:部分同学图省事(当然放在一个Activity确实方便数据传输和item点击事件操作),把它们都写在一个Activity,这样是不可取,因为大大增加了单个Activity代码量,对维护来说很不方便

1.3K70
  • 【答疑释惑】Android多国语言实现原理

    网友们问问题是android布局文件android:text="hello_world"和 android:text="@string/hello_world"区别。...解答是: Android中都会提供多套资源来进行屏幕适配和语言适配,来看一下Google源码下一个APP资源目录: 首先在要知道每次在string.xml文件添加字符串时候都会生成一个字符串...IDID是一个int值,比如上面的是R.string.hello_world,这个是编译器自动生成,如现在string.xml文件添加hello_world,如下: 然后就会自动在R.java文件中生成对应资源...ID。...这个资源ID:hello_world对应着不同value包下string.xml文件字符串资源hello_world,在进行语言切换时候Android系统会自动寻找当前语言对应资源包资源,完成语言切换

    950100

    Android Vector曲折兼容之路

    Android Vector曲折兼容之路 两年前写书时候,就在研究Android L提出Vector,研究下来发现,完全不具备兼容性,相信这也是它没有被广泛使用一个原因,经过Google不懈努力...图像换成了Vector图像而已,接下来,在Button中使用这个Selector即可: <Button android:id="@+id/btn" android:layout_width...抽取string兼容问题 开发者有时候为了代码简洁可能会把Vector图像pathData放到string.xml,然后在Vector图像引用string。...但这种方式如果通过生成png来兼容5.0以下机型的话,会报pathData错误,编译器不会去读取string.xml,只能把pathData写到Vector图像,动画文件也是一样,这也是为了兼容做出牺牲...其实很简单,就是一个图像截取,设置一个比例即可,即当前绘制多少比例图像,其余部分不绘制,Start和End分别就是从PathDataStart和End开始算,大家参考几个例子就能理解了。

    1.7K30

    Zxing二维码扫描和那些坑

    Googlezxing来实现二维码扫描相信很多人都用过。但是实现过程遇到了很多坑,也是因为这些坑在网上没有具体解决方案,今天就把实现过程分享给大家。...↑  然后在color.xml添加以上颜色值。 ? ↑  在ids.xml添加以上id属性值。 ? ↑ 在string.xml添加显示提示字符。自己随意修改。...所以,顾名思义,我们绘制肯定是在onDraw方法中了。ok,直接定位到onDraw方法,剩下就是你自己发挥想象力,去定制啦!(比如:四个角,扫描线,等等。。)...3.填坑 本篇文章在开始时候,就说了坑坑坑!所以,单凭以上2个部分是满足不了大家,那么,我们下面来看几个问题: (1)你是否遇到了,取景框太小,以至于离二维码很远才可以扫到?...有问题童靴欢迎给我留言,将尽快回复! 注:最近有朋友说近距离扫描二维码扫描不出,需要远一点才可以。

    1.5K10

    《Android编程权威指南》之Android开发初体验

    地址:https://jaeger.itscoder.com/android/2016/02/14/android-studio-tips.html 绘制 UI 组件是用户界面的构造模块,可以显示文字或图像...创建字符串资源推荐把字符串都定义在app/res/values/string.xml文件 预览界面布局 写完布局文件,旁边可以预览效果 截图 从布局 XML 到视图对象 java目录是项目全部Java...activity子类实例被创建后,onCreate(Bundle)方法被调用,并通过调用setContentView()方法获取管理属于自己用户界面,根据传入布局资源ID,生成指定布局视图并将其放置在屏幕上...布局是一种资源(包括像文件、音频文件以及XML文件等)放在目录app/res子目录下。 R.java文件在Android项目编译过程自动生成,不要随意修改。...组件实际应用 主要就在讲如何在代码获得布局文件组件,为之设置监听器等内容,现在很多项目都用一些注解类框架来简化这个过程,比如说ButterKnife,还有ViewBinding(AS3.6 才支持

    1.2K20

    Android6.0源码分析之View(一)

    想要对view先有个整体了解,建议大家参考view.java注释,注释交代了view所涉及到所有知识。...example,如下图,在xml添加了自定义button,但是因为在自定义button时构造方法传入为null,则导致buttonxml定义属性没有被解析) ?...(在运行时期添加),借助viewgroup特有的addView(View)方法添加view,添加view借助只含有Context构造参数构造方法 可以在xml静态添加(在编译期添加),在xml添加...Chapter Ten Tags(标签) 与id不同,tags不是用来标识view,tags本质上是与view相关联一些额外信息,tags通常来用存储一些与view相关一些数据,而不是把他们放在单独结构...首先你需要在string.xml文件定义一个标签,格式如下 。。。。。

    91180

    《Android编程权威指南》之Android与MVC篇

    ,编译器会自动从主构造函数根据所有声明属性提取以下函数: equals() / hashCode() toString() 格式如 "User(name=John, age=42)" componentN...V —— 视图对象知道如何在屏幕上绘制自己以及如何响应用户输入。比如说layoutxml文件,也可以自定义控件,反正是看得见对象,就是视图对象。...例如,如果某张图片在 mdpi 屏幕上大小为 100px x 100px,那么它在 tvdpi 屏幕上大小应该为 133px x 133px。 将应用图标放在 mipmap 目录!...dp 是一个虚拟像素单位,1 dp 约等于密度屏幕(160dpi;“基准”密度)上 1 像素。对于其他每个密度,Android 会将此值转换为相应实际像素数。...在定义文本大小时,您应改用缩放像素 (sp) 作为单位(但切勿将 sp 用于布局尺寸)。默认情况下,sp 单位与 dp 大小相同,但它会根据用户首选文本大小来调整大小。

    1.1K31

    『安卓』安卓开发基础--基本控件

    <TextView //控件id android:id = "@+id/xxx" @+id/xxx表示新增控件命名为xxx //我们可以在Java代码通过findViewById()方法获取到该对象..." //在名字叫text1控件上边 android:layout_above="@id/text1" 在Activity简单用法 public class MainActivity extends..." //在名字叫text1控件上边 android:layout_above="@id/text1" 我们需要在Activity为Button点击事件注册一个监听器,以下介绍两种方式来实现按钮监听事件...,显示在视图上部分位置 //android:scaleType="matrix" 用矩阵来绘制 //图片来源,需要将图片复制放到res/drawable文件夹里面,引用时候不需要写图片后缀 android...,显示在视图上部分位置 //android:scaleType="matrix" 用矩阵来绘制 //图片来源,需要将图片复制放到res/drawable文件夹里面,引用时候不需要写图片后缀 android

    7K20

    增强分析可读性-Pandas教程

    在那之后,可以把结果放在微软PowerPoint上,并在一天结束前附上一些基本脚注,然后把它们发给我主管,让他们演示并做出重要决定。...那太好了,不是? As-is 下面让我们看一下为这个示例生成数据帧。这是公司需要收入额。如你所见,这是pandas数据帧返回默认结果。没有任何配置。 ?...经常从主管或首席执行官那里得到一个评论是。 你能让它更易读,更容易比较?” 解决办法可能是把这个数字除以一百万,然后把单位放在上方。你要记住一点是,在你演讲应该保持一致。...你会减少花在这上面的时间,然后把注意力放在内容有效性上。 如何改进? 可读格式 收到最常见评论是,你能把数字四舍五入,并使用符号,如M表示百万或K表示千?...如果你使用pandas库进行数据分析,认为matplotlib将是你绘制图形首选。 ?

    95740

    【Go 语言社区】HTML5 canvas验证码识别

    canvas 历史这个 HTML 元素是为了客户端矢量图形而设计。它自己没有行为,但却把一个绘图 API 展现给客户端 JavaScript 以使脚本能够把想绘制东西都绘制到一块画布上。...],x表示横坐标纵向上比较简单,y坐标的范围是恒定,9px到14px.图像处理首先,并没有专业图像处理知识,所以下面说专业词汇肯定是有问题,以理解为主.由于数字和背景都是随机颜色,那么我们生成模板字符串岂不是每次都会变...0.11,灰度值范围是0~255,这里把128看成临界点,也就是把0~128看成是暗,用0表示,128~255看成是明,用1表示,把明暗简写为ld(Light and Dark).也就是公式,ld...1:0.为什么通过明暗值能把数字和背景色区分开来呢,因为这种验证码在进行灰度化以后,背景明显是属于亮,偏白色,而数字是属于暗,偏黑色.所以能够区分.通过photoshop灰度化效果 再进行50%...阀值 生成模板既然每个数字形状和位置都是一定,那我们就能把0-9这10个数字像素信息存储下来作为模板,在识别验证码时,取出验证码图片中数字依次对比.如果相等说明就是这个数字.下面是生成模板代码

    1.7K40

    AI 绘制版《漠河舞厅》MV 火了,网友:感觉 AI 读懂了歌词

    1 AI为画了一个瑰丽世界 2019年12月,民谣歌手柳爽在漠河采风时,在当地一家舞厅遇到了一名独自跳舞老人,简单地交谈过后,柳爽得知了老人妻子在1987年大兴安岭“五·六”特大森林火灾事故遇难...前一句歌词,AI画出了一位泪眼婆娑银发老人肖像图,后一句歌词,画面呈现是一名白发苍苍老妇朝着一个垂首沉思老夫微微倾着身子,好像在呼唤“如果时间没有定格在三十年前,应该和你一样容颜迟暮,你能看见我现在样子...接着歌词唱回到,“灯光底,抖落了晨曦,在1980漠河舞厅。” AI绘制了刚刚升起太阳、漠河舞厅落地窗上的人形剪影,以及上世纪80年代人声鼎沸、五光十色,“有你、也有漠河舞厅。...不得不说,Up主“拯救世界狗子”和AI共同创造了令人惊叹作品,不仅人物风格有着相同延续,不同场景色彩鲜亮且构图精巧,尤其是红日、日光和舞厅人形剪影那张,AI居然能把这些元素如此合理地放在一张图上,...正如《 漠河舞厅》AI绘制版本MV创作者“拯救世界狗子”回应,(不是AI读懂了歌词)“而是读懂了歌词,用蹩脚英文给AI描述。”

    20320

    前端HTML5面试官和应试者一问一答

    在email类型input元素还有一个multiple属性,表示在该文本框输入用逗号隔开多个邮件地址。 range类型:用于把输入框显示为滑动条,可以作为某一特定范围内数值选择器。...image 2.HTML5增加表单特性以及元素 form特性在HTML5,可以把从属于表单元素放在任何地方,然后指定该元素form特性值为表单id,该元素就从属于表单。...6.Canvas和SVG区别是什么 SVG是缩放矢量图形,它是基于文本图形语言,使用文本,线条,点等来绘制图像。 a....因为不需要记住之后事,所以Canvas运行快,而SVG需要记录坐标,所以运行慢。 d. 在Canvas不能为绘制对象绑定相关事件;在SVG可以为绘制对象绑定相关事件。 e....单个cookie保存数据不能超过4kb,很多浏览器都限制一个站点最多保存20个cookie 建议将登陆信息等重要内容存放在session,其他可以存放在cookie

    2K50

    不怕搞事,自定义View云扩散效果

    这里就找来了一张铁塔简笔画~ 转换之后,就可以得到SVG文件了~ 其次,需要用到一个工具类,用于把SVG转换成Path.这里直接拿了GAStudio哥一个工具类:SvgPathParser...接下来,我们把拿到SVG保存在String.xml文件待用~ 接下来使用PathMeasure 来进行SVG转换后Path绘制,具体细节,请看源码~这里不过多阐述。...铁塔完毕后,有点单调~ 我们来给他绘制一些云彩~ 每个云彩都是一个Path,所以画云彩只是绘制一些Path. ? 最后,加上动画~ 让他不生硬。...好,有了思路就很好继续了。只需要让两个图片使用Xfermode搞基一番,并且在过程让这个View逐渐透明,遮罩图片逐渐放大即可。...同时第一个View设置gone来避免过度绘制,第二个View绘制实际上是两个bitmap,并且开启硬离屏缓存来实现Xfermode正确效果。 ?

    73720
    领券