Android UI技巧(一)——Android中伸缩自如的9patch图片切法,没有美工自给自足

简介: <div class="markdown_views"><h1 id="android-ui技巧一android中伸缩自如的点9图片切法没有美工自给自足">Android UI技巧(一)——Android中伸缩自如的点9图片切法,没有美工自给自足</h1><hr><blockquote> <p>相信大家对.9 图片应该都很熟悉吧,有些人可能自己都会了,此篇献给那些不

Android UI技巧(一)——Android中伸缩自如的点9图片切法,没有美工自给自足


相信大家对.9 图片应该都很熟悉吧,有些人可能自己都会了,此篇献给那些不会的同学,咱们一起来聊聊.9图片的切法

一.分辨率

其实相对于Android和IOS两大平台来讲,Android的适配问题一直是大家工作上的一个大问题,这里,我做了一个分辨率的对照表,大家先来连接一下这个简单的东西吧

这里写图片描述

当然,现在2K的屏幕都出来了,不过这个咱不管哈

二.点9切图法

上面了解了大致的分辨率,我们就来切图了,所谓的.9图就是无论你怎么拉伸,只要我们设置一个边宽,这部分就会保持不变形,应用范围也比较广泛,比如聊天起泡什么的

我们要想切.9图,就要用到你SDK目录下/tools/draw9patch.bat,对,没错,就是这个工具,我们打开它

这里写图片描述

这里我们可以点击左上角的File-OPen 9patch,然后打开一张图片制作,也可以直接把图片拖进去,这里,我们新建一个工程——NinePatch,来测验我们制作的成果,首先拖进去一张图片

这里写图片描述

然后我们就来切

这里写图片描述

我们仔细看就会看到一条黑线,这条黑线区域的内容是可以拉伸的,而其他位置的是不可拉伸的,既然如此,那我们放进APP看看效果,首先,来看一下原图是什么样子的

这里写图片描述

图片原本的分辨率是212X130的,我直接设置成

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center" >

    <Button
        android:background="@drawable/logo"
        android:layout_width="300dp"
        android:layout_height="300dp"
        />

</RelativeLayout>

那我们来看看.9图的表现吧

这里写图片描述

我们现在只是让他在很窄的地方拉伸,当然,点9图片还是要应用在一个合适的场合,我们看看他在真机上的表现吧

这里写图片描述

我们可以发现,上面那部分我设置成不可拉伸,他就是保持原样,但是我下边那部分,也就是黑边的部分,就没那么幸运了,那就一个惨不忍睹,这样,我们答题也有一个认知,我们针对某一个特定场合的图片使用.9可能会出奇效,但是如果你乱用的话可能适得其反,现在的话,你答题应该知道怎么去切一张.9图片了吧

目录
相关文章
|
2月前
|
存储 缓存 编解码
Android经典面试题之图片Bitmap怎么做优化
本文介绍了图片相关的内存优化方法,包括分辨率适配、图片压缩与缓存。文中详细讲解了如何根据不同分辨率放置图片资源,避免图片拉伸变形;并通过示例代码展示了使用`BitmapFactory.Options`进行图片压缩的具体步骤。此外,还介绍了Glide等第三方库如何利用LRU算法实现高效图片缓存。
61 20
Android经典面试题之图片Bitmap怎么做优化
|
2月前
|
XML Android开发 UED
💥Android UI设计新风尚!掌握Material Design精髓,让你的界面颜值爆表!🎨
随着移动应用市场的蓬勃发展,用户对界面设计的要求日益提高。为此,掌握由Google推出的Material Design设计语言成为提升应用颜值和用户体验的关键。本文将带你深入了解Material Design的核心原则,如真实感、统一性和创新性,并通过丰富的组件库及示例代码,助你轻松打造美观且一致的应用界面。无论是色彩搭配还是动画效果,Material Design都能为你的Android应用增添无限魅力。
57 1
|
3月前
|
存储 搜索推荐 Java
探索安卓开发中的自定义视图:打造个性化UI组件Java中的异常处理:从基础到高级
【8月更文挑战第29天】在安卓应用的海洋中,一个独特的用户界面(UI)能让应用脱颖而出。自定义视图是实现这一目标的强大工具。本文将通过一个简单的自定义计数器视图示例,展示如何从零开始创建一个具有独特风格和功能的安卓UI组件,并讨论在此过程中涉及的设计原则、性能优化和兼容性问题。准备好让你的应用与众不同了吗?让我们开始吧!
|
3月前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
54 1
|
3月前
|
API Android开发
Android项目架构设计问题之选择和使用合适的UI库如何解决
Android项目架构设计问题之选择和使用合适的UI库如何解决
46 0
|
3月前
|
数据处理 开发工具 数据安全/隐私保护
Android平台RTMP推送|轻量级RTSP服务|GB28181接入之文字、png图片水印的精进之路
本文探讨了Android平台上推流模块中添加文字与PNG水印的技术演进。自2015年起,为了满足应急指挥及安防领域的需求,逐步发展出三代水印技术:第一代为静态文字与图像水印;第二代实现了动态更新水印内容的能力,例如实时位置与时间信息;至第三代,则优化了数据传输效率,直接使用Bitmap对象传递水印数据至JNI层,减少了内存拷贝次数。这些迭代不仅提升了用户体验和技术效率,也体现了开发者追求极致与不断创新的精神。
|
3月前
|
自然语言处理 定位技术 API
Android经典实战之如何获取图片的经纬度以及如何根据经纬度获取对应的地点名称
本文介绍如何在Android中从图片提取地理位置信息并转换为地址。首先利用`ExifInterface`获取图片内的经纬度,然后通过`Geocoder`将经纬度转为地址。注意操作需在子线程进行且考虑多语言支持。
218 4
|
4月前
|
XML Android开发 UED
💥Android UI设计新风尚!掌握Material Design精髓,让你的界面颜值爆表!🎨
【7月更文挑战第28天】随着移动应用市场的发展,用户对界面设计的要求不断提高。Material Design是由Google推出的设计语言,强调真实感、统一性和创新性,通过模拟纸张和墨水的物理属性创造沉浸式体验。它注重色彩、排版、图标和布局的一致性,确保跨设备的统一视觉风格。Android Studio提供了丰富的Material Design组件库,如按钮、卡片等,易于使用且美观。
132 1
|
3月前
|
XML 前端开发 Android开发
Android经典实战之Kotlin中实现圆角图片和圆形图片
本文介绍两种实现圆角图像视图的方法。第一种是通过自定义Kotlin `AppCompatImageView`,重写`onDraw`方法使用`Canvas`和`Path`进行圆角剪裁。第二种利用Android Material库中的`ShapeableImageView`,简单配置即可实现圆角效果。两种方法均易于实现且提供动态调整圆角半径的功能。
65 0
|
4月前
|
异构计算 Python
30行代码实现一个带UI界面的图片背景移除工具:并附带web网页
人工智能技术正处于蓬勃发展中,移除图片背景的方法众多,涵盖了各式各样的实现途径和模型。然而,这些方法往往在安装和配置环境方面稍显复杂。今天,介绍一种极其简便的方法——大约30行代码,就能实现这一功能。虽然相比之下可能稍显简单,但对于不太苛刻的需求来说,这种方法颇为方便实用。