最近很多小伙伴都在问较新版本的AndroidStudio和只有两个可绘制目录–drawable和drawable-v21和androidstudiodesign有两个视图这两个问题,那么本篇文章就来给
最近很多小伙伴都在问较新版本的Android Studio和只有两个可绘制目录 – drawable和drawable-v21和android studio design有两个视图这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Android can''t convert StateListDrawable to BitmapDrawable、Android drawable:未知资源类型@ drawable-nodpi、Android Studio drawable文件夹的创建方法、android studio中drawable和drawable-v24的区别等相关知识,下面开始了哦!
本文目录一览:- 较新版本的Android Studio和只有两个可绘制目录 – drawable和drawable-v21(android studio design有两个视图)
- Android can''t convert StateListDrawable to BitmapDrawable
- Android drawable:未知资源类型@ drawable-nodpi
- Android Studio drawable文件夹的创建方法
- android studio中drawable和drawable-v24的区别
较新版本的Android Studio和只有两个可绘制目录 – drawable和drawable-v21(android studio design有两个视图)
对于旧版本的Android Studio,默认情况下会创建所有可绘制的存储桶文件夹(即drawable-mdpi,drawable-hdpi等).在较新版本的Android Studio中,它仅提供drawable和drawable-v21.这是为什么?
有没有理由说Android(以其无限的智慧)不再为您提供单独的存储桶文件夹?
请注意,我知道您可以手动添加它们,但我想确保没有一些新的最佳实践原因不再使用这些文件夹.
解决方法:
感谢所有试图提供帮助的人.你帮我找到了最终答案,但没有一个解决方案是正确的. @ user3137702可能是最接近的,因为它与向量/ SVG的整个移动有关.我无法找到一个明确的答案,比如直接来自谷歌的东西(虽然我想它已经存在),但是从我从一堆文章中收集的内容来看,他们可能就是这样做的原因.
对于初学者来说,它似乎是从Android Studio 1.4开始的.我现在在1.5.似乎Android正朝着不再需要你为drawables创建自己的密度文件夹(即mdpi,hdpi等)的方向发展(mipmap是不同的,所以请不要把它与我所说的混淆) .从Android Studio 1.4开始,它会将您放入常规可绘制文件夹中的SVG(不在v21文件夹中),将它们转换为PNG,并在构建序列期间将它们放置在自动生成的密度文件夹中(因此Gradle对于所有早于API 21的版本,这对你来说都是如此.对于21及更高版本,SVG支持不同,这是一个完整的其他主题.但这实际上使得SVG支持向后兼容API 1!
但是,有一个很大的问题.这种SVG转换并不总是像您希望的那样成功.它仅支持SVG文件的子集,因此根据您保存的方式(即保存时应用的设置),可能无法正确呈现.甚至不支持常用的设置,例如渐变和图案填充,本地IRI引用和转换.如果您正在使用未生成的SVG文件,则可能在导入它们时遇到问题.如果您或与您合作的人直接生成它们,您可能必须尝试如何保存文件,并且您应该经常在旧版Android上测试版本,以确保它按预期结果.
要将SVG导入Android Studio 1.4,请执行以下简单步骤:
>右键单击res / drawable文件夹
>选择“新”
>选择“矢量资产”
>此时,您可以选择“材料图标”,它可以使用
真的很好,你可以有一堆漂亮的“免费”图标
选择.对于独立开发者,没有图标设计支持,
这很好!
>或者 – 您可以选择“本地SVG文件”
>然后使用“选择”选项从任一选项中选择一个SVG.警告:如果导入的SVG未正确保存,则可能出现错误.
>点击“下一步”
>确认它保存在正确的位置,然后单击“完成”
>此时,它可以引用:android:icon =“@ drawable / ic_imagename”(当然使用你的图像名而不是ic_imagename)
@CommonsWare的响应非常有助于提供正确的解决方案,但从我看到的,从不同的模板和版本支持设置生成新项目的几个变体,实际上没有任何方法可以实现旧的密度文件夹自动生成.这里肯定有更多的内容,而不仅仅是一个不同的模板版本选择.但正如他所说,根据您选择的模板/版本,您最终可能会得到这两种可绘制文件夹类型的不同集合.但具体到我的问题,Android Studio似乎正在强调这种不创建自己的个人可绘制密度文件夹的新方法.
这很酷,imo,但它仍然需要一些工作.实际上,我可能仍然需要添加可绘制的密度文件夹来支持我使用的所有图像,直到这种机制更加支持所有类型的SVG渲染.
还有一点 – 因为这都是通过Gradle(密度文件夹的实际生成)处理的,您可以通过flavor机制添加构建设置,以限制要生成的密度文件夹.因此,例如,如果您认为mdpi图像已经达到了对您的特定用户群的有用性的结束,并且希望将该大小/密度从应用程序中移除以减少应用程序大小的几MB,则可以将其设置为Gradle构造的味道.
Android can''t convert StateListDrawable to BitmapDrawable
Bitmap icon = BitmapFactory.decodeResource(getResources(), R.drawable.xxxx)
如果 xxxx 是 selector 的话,会返回 null。
先是改成
Bitmap mSlideBitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.xxx)).getBitmap();
catch 提示
can''t convert StateListDrawable to BitmapDrawable,最后把 xxx 替换成一般的 drawable 之后,异常消失,最后改回 decodeResource 也可以获取成功了。
Android drawable:未知资源类型@ drawable-nodpi
我在res里面创建了一个新的Android资源目录drawable-nodpi并将我的png图像放在里面,但当我尝试用下面的代码引用它时,它会返回一个错误
未知资源类型@ drawable-nodpi.
我究竟做错了什么?我将它放入@drawable时效果很好,但图像太大而无法上传到纹理中.我使用的是Android Studio 2.1.2
android:src=”@drawable-nodpi/java”
解决方法:
你不使用@ drawable-nodpi / java.它应该是@ drawable / java. Android将自动选择具有设备配置的源.
Android Studio drawable文件夹的创建方法
我们一般将APP的icon放在minmap文件夹下,其他图片资源放在drawable文件夹下。
下面我们看下AndroidStudio下如何创建drawable、drawable-hdpi、drawable-mdpi、drawable-xhdpi、drawable-xxhdpi。
1、切换到Project视图下,找到对应moudle的res文件夹,右击“res”--》 “new”--》“Android resource directory”,弹出“New Resource Directory”对话框
2、按照上图的一二三步骤,点击第三步后,会出现一下内容,选择要添加drawable的分辨率,点击“ok”按钮即可
android studio中drawable和drawable-v24的区别
我是android studio的新手,之前使用的是eclipse.我想知道android studio中drawable和drawable-v24之间的区别.
解决方法
有关详细信息,请参阅此答案:
Newer versions of Android Studio and only two drawable directory – drawable and drawable-v21
今天关于较新版本的Android Studio和只有两个可绘制目录 – drawable和drawable-v21和android studio design有两个视图的讲解已经结束,谢谢您的阅读,如果想了解更多关于Android can''t convert StateListDrawable to BitmapDrawable、Android drawable:未知资源类型@ drawable-nodpi、Android Studio drawable文件夹的创建方法、android studio中drawable和drawable-v24的区别的相关知识,请在本站搜索。
本文标签: