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

Android图片相关

Drawable - 作为Android平下通用的图形对象,它可以装载常用格式的图像,比如GIF、PNG、JPG,当然也支持BMP,当然还提供一些高级的可视化对象,比如渐变、图形等。...你的手机屏幕有那么大但是他会将图片拉伸,当加载图片后让你感觉该屏幕没有实际的大小,而如果将图片放到drawable—hdpi中则该问题就不会存在了。...比如手机屏幕的大小为420*800如果你将图片放在drawable—mdpi中,那么你就要准备一张340*525分辨率的图片。...文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。...里面存放低分辨率的图片,如QVGA (240×320) 系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。

72630

Android设计 - 图标设计概述(Iconography)

设计提示 这里是一些你会发现的, 在你创建图标或者其他drawable资源对你的app有用的提示。...当根据需要缩放,重画位图图层 如果你要从一个位图图层向上缩放一个图像,而不是从一个矢量图层开始,那些图层将需要被手动的重画而脆弱呈现在更高的密度下。...通过屏幕密度分离的资源也帮你察觉一些跨越密度的文件名中的差异。这个是非常重要的,因为关于不同密度的相应的资源必须共享相同的文件名称。...为了比较,下面是在一个经典的应用程序中的资源文件夹的结构: res/... drawable-ldpi/... finished_asset.png drawable-mdpi/... finished_asset.png...比如,如果你的最高密度的启动图标图像已经在 xx-high密度下,缩放进程将会使得它展示的较少的松脆。

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

    在React Native中构建启动屏

    可以说,启动画面是让您的移动应用的品牌名称和图标深入用户记忆的最佳方式。 在网络应用中,我们使用预加载器为用户提供动画娱乐,同时服务器操作正在处理中。...将图片名称设置为“splash”,打开 assets 文件夹,导航到 iOS 文件夹。...将 Android 目录中的 drawable folders/assets 复制到可以在 android/app/src/main/res/ 中找到的 res 目录中。.../assets/favicon.png" } } } 如果你观察上面代码中的 splash 值(对象),你会看到我们的启动图像指向我们的 assets 文件夹,那里有默认的启动图像。...通常,某些配置和资源(如字体和检查更新)会在应用准备就绪时立即实施。启动屏幕有助于在这些资源加载期间让用户忙碌,而不是延迟会损害用户体验的情况。

    63410

    Android 基本常识

    dip:设备独立像素,不同设备有不同的显示效果,与屏幕密度有关,而屏幕密度又和设备硬件有关,在某种条件下 ,比如屏幕密度为160,那么1dip = 1px。...那如果你的屏幕密度不变而屏幕分辨率变大,就会出现图像变小。 注:屏幕密度:在屏幕密度中,HVGA屏的密度为160,QVGA屏的密度为120,WVGA屏的密度为240,WQVGA屏的密度为120。...但习惯上,大部分程序员在开发的时候选择,在mipmap中存放应用图标,手动创建drawable-mipmap文件夹存放不同密度的照片。  drawable-dip和mipmap-dpi没有本质区别。...android手机先根据当前分辨率选择最近的一个文件夹读取,比如你可以把1080P放在hdpi中,那么高分辨率手机先读hdpi这里面的,没有就找mdpi,依次类推。...最后会去drawable文件夹找,但是图片不推荐放到drawable文件夹,否则很容易出现out of memory的错误。建议一一对应。 小伙伴们明白了吗?

    69240

    你必须要懂的APK瘦身知识

    res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹。 针对不同的情况,对于资源文件有不同的优化策略。...一般来讲,对于res/drawable-**ddpi中的png资源可以进行压缩。 3.1 图片资源优化策略 格式压缩 使用TinyPng或者Guetzli进行压缩。...,而不是使用PNG或JPEG文件。...但是,系统渲染每个 VectorDrawable对象需要很长时间,而较大的图像需要更长的时间才能显示在屏幕上。因此,只有在显示小图像时才考虑使用这些矢量图形。...其它策略 有时候我们可能对一张图片进行重复利用,比如一张图片仅仅是整体颜色的变换可以使用setColorFilter或者tint。尽量减少使用帧动画,那可是一堆图片呀。

    76230

    关于Android开发你必须要懂的APK瘦身知识

    res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹。 针对不同的情况,对于资源文件有不同的优化策略。...一般来讲,对于res/drawable-hdpi中的png资源可以进行压缩。 图片资源优化策略 格式压缩 使用TinyPng或者Guetzli进行压缩。...使用WebP文件格式 定位Android 3.2(API级别13)或更高级别时 ,您也可以使用WebP文件格式来制作图像,而不是使用PNG或JPEG文件。...但是,系统渲染每个 VectorDrawable对象需要很长时间,而较大的图像需要更长的时间才能显示在屏幕上。因此,只有在显示小图像时才考虑使用这些矢量图形。...其它策略 有时候我们可能对一张图片进行重复利用,比如一张图片仅仅是整体颜色的变换可以使用setColorFilter或者tint。尽量减少使用帧动画,那可是一堆图片呀。

    1.1K40

    Android资源那些事儿

    Color资源 与字符串资源类似,我们可以事先在xml文件中定义,并在之后对其进行引用。 颜色资源所对应的xml文件位于/res/values/目录下。...如果我们的布局中有多个view需要指定相同的尺寸,那么我们可以事先在dimen资源中对该尺寸进行定义,之后便可以很方便地复用。 dimen资源所对应的xml文件位于/res/values/目录下。.../item> 8 16 应用: 简单起见,我们同样也可以在ListView中对该数组进行引用...如果想要在java代码中访问到实际的图片Drawable对象,而不是R类中int类型的索引,可以利用Resources类提供的```Drawable getDrawable(int id)方法。...因此,将图像放在图层列表中的不同位置可能会增大视图的大小,并且有些图像会相应地缩放。

    87320

    Android 代码规范(自用)

    命名规范和排版 java成员类 基础类型优先排在上方 java相关类排在基础类型下方 android相关类排在java相关类下方 整体排序按照访问权限:private->default->protected...类方法 android中方法排序首先生命周期方法在最上方,排序按照自然生命周期的排序 其余方法按照调用先后顺序往下排列 方法体内不要多余无意义的空行,代码紧凑 ?...文件和目录命名规范 工程目录下所有文件夹名一律用小写字母 drawable目录所有图片资源一律以 ic_ 为前缀开头 同一资源图片不同尺寸一律相同命名以尺寸大小为后缀,如 ic_default_600...等类似头部和尾部布局概念分别以 head_ , foot_ 为前缀 shape 文件 和 selector 文件 分别以 shape_ , selector_ 为前缀 色值命名 以色值本身的名字来命名,而不是以功能性的名称表达如...常用缩写和模型的统一命名 这个需要团队成员讨论修改和补充,基本原则:对同一概念采用相同的名词表达,减少同一模型的重复封装. ​

    74620

    Android开发快收藏,这些Bitmap知识点集合没弄明白先别去面试大厂!

    : image.png 刚才的案例,我们是把图片放到drawable-xxhdpi文件夹,而drawable-xxhdpi文件夹对应的dpi就是我们测试手机的dpi—480。...如果我们把图片放到其他的文件夹,比如drawable-hdpi文件夹(对应的dpi是240),会发生什么呢?...所以一般在复用之前,还要判断下,新的Bitmap内存是不是小于可以复用的Bitmap内存,然后才能进行复用。 高清大图加载该怎么处理?...3、读源码,看实战笔记,学习大神思路 “编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。...请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。 关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三。

    93700

    Android getResources的作用和须要注意点

    = getResources().getDrawable(R.drawable.image); 一開始不是非常理解为什么用 getResources()这种方法就能够获取存在系统的资源。...于是看了一下文档和翻阅了一下资料: 比如:把资源文件放到应用程序的/raw/raw下,那么就能够在应用中使用getResources获取资源后,以openRawResource方法(不带后缀的资源文件名称...文件夹下的png或者bmg //得到Resources对象 Resources r = this.getContext().getResources(); //以数据流的方式读取资源 Inputstream.../drawable/文件夹中去,从这里,你就能够引用它到你的代码或你的XML布局中,也就是说,引用它也能够用资源编号,比方你选择一个文件仅仅要去掉后缀就能够了(比如:my_image.png 引用它是就是...当须要使用的xml资源的时候,就能够使用context.getResources().getDrawable(R….资源的地址如:R.String.ok); 当你方法里面没有Context參数,能够 this.getContext

    57210

    一种为 Linux ARM 设备构建跨平台 UI 的新方法

    在我看来,唯一的缺点是使用该工具所需的计算机性能,它比其他集成开发环境 (IDE) 如 VSCode 或其开源替代方案 VSCodium 要庞大得多。...tools:layout_editor_absoluteX="196dp" tools:layout_editor_absoluteY="246dp" /> TextView 元素用于向用户显示一些数据,比如建筑物内的温度...接下来,我们保存了 drawable 文件夹中的图像副本和 xml 文件夹中的 Android XML 文件副本,这两个文件夹都位于 resources 文件夹中: image.png 为了使用...以下是 XML 如何在 TotalCross 的模拟器上执行: image.png 完成这个 PoC 还有两件事要做:添加一些事件来提供用户交互,并在树莓派上运行它。...我们的目标不是为设计人员或开发人员创建一个新的工具来构建 UI 应用程序;我们的目标是为使用现有的最佳工具提供新的玩法。 你对这种新的应用程序开发方式有何看法?在下面的评论中分享你的想法。

    1.5K20

    一种为 Linux ARM 设备构建跨平台 UI 的新方法

    在我看来,唯一的缺点是使用该工具所需的计算机性能,它比其他集成开发环境 (IDE) 如 VSCode 或其开源替代方案 VSCodium 要庞大得多。...tools:layout_editor_absoluteX="196dp" tools:layout_editor_absoluteY="246dp" /> TextView 元素用于向用户显示一些数据,比如建筑物内的温度...接下来,我们保存了 drawable 文件夹中的图像副本和 xml 文件夹中的 Android XML 文件副本,这两个文件夹都位于 resources 文件夹中: image.png 为了使用...以下是 XML 如何在 TotalCross 的模拟器上执行: image.png 完成这个 PoC 还有两件事要做:添加一些事件来提供用户交互,并在树莓派上运行它。...我们的目标不是为设计人员或开发人员创建一个新的工具来构建 UI 应用程序;我们的目标是为使用现有的最佳工具提供新的玩法。 你对这种新的应用程序开发方式有何看法?在下面的评论中分享你的想法。

    1.9K50

    Android-Bitmap

    image.png 1.1.问题一:第一张图片显示薛之涛.jpg的大小是3.50kb,为什么占用空间不是3.50kb而是4.00kb?...image.png 可以看到将同一图片放在不同分辨率的Drawable文件夹下所占用的内存是不同的,Drawable分辨率越高所占内存越小。为什么会这样呢?...= 原图宽度 * (设备的 dpi / 目录对应的 dpi ) 录名称与 dpi 的对应关系如下,drawable 没带后缀对应 160 dpi: ?...,我们这里就不测试了,直接总结一下: (1):同一图片,在同一台设备中,如果图片放在 res 内的不同资源目录下,那么图片占用的内存空间是会不一样的,通常是drawable文件夹分辨率越高,内存越小...3.0以后使用recycle()方法进行回收,该方法可以不主动调用,因为垃圾回收器会自动收集不可用的Bitmap对象进行回收。

    1.4K20

    Android Vector曲折的兼容之路

    /graphics/drawable/VectorDrawable.html 因此,可以说Vector就是Android中的SVG实现,因为Android中的Vector并不是支持全部的SVG语法,也没有必要...从PNG到SVG 设计师 要从一般使用的PNG图像转换到SVG图像,对于设计师来说,并不是一件难事,因为大部分的设计工具(PS、Illustrator等等)都支持导出各种格式的图像,如PNG、JPG,当然...这样做有一个非常好的作用,就是将图像大小与图像分离,后面可以随意修改图像大小,而不需要修改PathData中的坐标。...group标签的作用有两个: 对Path进行分组,由于我们后面需要针对Path进行动画,所以可以让具有同样动画效果的Path在同一个Group中 拓展动画效果,单个的path标签是没有translateX...其它兼容问题 其它非常奇怪、诡异、不能理解的兼容性问题,只能通过版本文件夹的方式来进行兼容了,例如drawable-v21和drawable,分别创建两个文件名相同的资源在两个文件夹下,这样在21以上版本

    1.8K30

    Android Jetpack 组件之 BindingAdapter 详解

    ,比如上面的 TextView 的 text 属性,在绑定时会自动接收兼容类型的参数所对应的方法,如 setText(arg),此时 databinding 库会查找接收 user.getName()...BindingMethods 这是 databinding 库提供的一个注解,用于当 View 中的某个属性与其对应的 setter 方法名称不对应时进行映射,如 TextView 的属性 android...View 中的一些属性,databinding 库已经使用 BindingMethods 已经做了属性自动查找匹配,那么当某些属性没有与之对应的 setter 方法时,如何在使用 databinding...> 使用自定义的 BindingAdapter 效果如下: 可知,自定义的 TextViewAdapter 生效了,可以根据需求很方便对一下数据进行预特殊处理...才能正常工作,如果使用了其中的一些属性则不能正常编译通过,那么如何在自定义多个属性而正常使用其中的部分属性呢,@BindingAdapter 注解还有一个参数 requireAll ,requireAll

    1.7K00

    android系统如何自适应屏幕大小

    :主要放置xml配置文件或者对分辨率要求较低的图片     drawalbe-ldpi:低分辨率的图片,如QVGA (240x320)     drawable-mdpi:中等分辨率的图片,如HVGA...(320x480)     drawable-hdpi:高分辨率的图片,如WVGA (480x800),FWVGA (480x854)     drawable-xhdpi:至少960dp x...例如我们在hdpi,mdpi,ldpi文件夹下拥有同一种资源,那么应用也不会自动地去相应文件夹下寻找资源,这种情况都是出现在高密度,以及低密度的手机上,比如说一部240×320像素的手机, 如果设置...2)如果没法找到相应的尺寸,而找到密度,则认为该图片尺寸为 "medium",利用缩放显示这个图片。 3)如果都无法匹配,则使用默认图片进行缩放显示。...例如,当前为高精度屏幕,平台会加载高精度资源(如HelloAndroid中drawable-hdpi 中的位图资源),如果没有,平台会将中精度资源缩放至高精度,导致图片显示不清晰。

    5.3K10

    Android Jetpack系列——DataBinding 最佳实践

    列如官方示列当中,就介绍了个 「setPadding」 的例子。...@BindingConversion 属性值自动进行类型转换 列如,我们用的 android:background 属性是 Drawable 的,但是需要指定一个颜色值,而这个值是整数的。...会自动刷新对应view的数据,而不用我们在拿到新数据后重新把数据在setText()一遍,就凭这一点,dataBinding就可以简化大量的代码。...接下来我们看一下如何在代码里实现: class StudentInfo : BaseObservable() { @get:Bindable var name: String?...但是,我有一点疑惑的是,现在我们图片的资源都放在mipmap系列文件夹下了,但是这里设置只能在drawable文件夹下面找到对应的资源?如果有什么想法和办法欢迎给我留言,我们交流一下!

    1.9K40

    Android Studio advanced configuration

    驼峰选择 Android 开发中,我们通常会使用驼峰命名法对变量进行命名,但是当我们通过 Ctrl + Left / Right 键改变字符选择区域的时候Android Studio 默认不支持‘驼峰’...其实Android Studio 可以自动在帮我们生成字段名称的时候加上自定义的前缀,如: 非共有,非静态的成员变量以’m’开始 静态成员变量以’s’开始 命名前缀配置方法 File | Settings...drawable 文件夹,常用的 drawable-hdpi 等文件夹需要我们自己创建。...drawable-hdpi 等文件夹(可选:从对应的 mipmap文件夹中拷贝 iclauncher.png到创建的 drawable文件夹中) 回到 NewAndroidModule 目录,用编辑器打...,如 custom 在左侧选中上一步中创建的 custom 分组,点击右边的加号 选择 Live Template ,在 Abbreviation 中对输入 psh 在 Description 中输入这个活动模板的描述

    1K20

    python列表类型

    例如列表L: >>> L = ['python', 'shell', 'Perl', 'Go', 'PHP'] 使用sort()和sorted()排序L,注意sort()是对L直接原地排序的,不是通过返回值来体现排序结果的...而sorted()则是返回排序后的新结果,需要赋值给变量才能保存排序结果。...sort()和sorted()不允许对包含不同数据类型的列表进行排序。...print(i) ... a b c d 再说列表解析,它指的是对序列中(如这里的列表)的每一项元素应用一个表达式,并将表达式计算后的结果作为新的序列元素(如这里的列表)。...可以将中括号替换成大括号,就变成了集合解析,甚至字典解析。但注意,没有直接的元组解析,因为元组的括号是特殊的,它会被认为是表达式的优先级包围括号,而不是元组构造符号。

    1.2K20
    领券