Android入门笔记19 图片资源

本文介绍了Android中图片资源的存放位置及其在不同分辨率设备上的适配,强调了drawable资源的使用方法。详细讲解了如何使用9-patch工具创建可拉伸的图片,避免图像拉伸变形。此外,还提到了通过selector XML实现按钮点击时背景变化的效果,并给出了布局文件中设置的示例。
摘要由CSDN通过智能技术生成

图片资源放在


这些文件夹中,它们对应着不同的分辨率,android应用将根据当前设备的分辨率来对应的文件夹中访问资源

若你的图片不分分辨率,则手动简历一个drawable文件夹,把图copy进里面


drawable资源很简单,不需要xml,只要把图片拖进去,根据名称就可以找到

程序中使用一个叫icon.png的图片

imageView.setImageResource(R.drawable.icon);

资源中使用

  <ImageView 
    android:id="@+id/image_view"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:src="@drawable/icon"
    />


横屏时或者其他分辨率变化的情况,会导致图片拉伸,图片主体一般可以拉,边缘拉伸就不好看了.

此时需要使用9path来将图片变为九宫格图片

这个工具是 sdk\tools\draw9patch.bat

     打开一张png图片,我们可以在png图片最外面的空格画一个像素宽的黑线。图片左边黑线的高度决定了垂直拉升时的扩展区域,也即当垂直拉伸时,只有这个区域的图片会被拉伸。同理图片上边的黑线长度决定了水平拉升时的扩展区域。图片右边的黑线可以不画,默认是指可以压扁到0px,画上黑线后,垂直方向就只可以压扁到右边黑线的高度了。图片下方的情况也一样。

    从中我们也可以理解为什么叫 nine patch,相当于把一张png图分成了9个部分,分别为4个角,4条边,以及一个中间区域,4个角是不做拉升的,所以还能一直保持圆角的状态,而2条水平边和垂直边分别只做水平和垂直拉伸,所以不会出现边会被拉粗的情况,只有中间用黑线指定的区域做拉伸。结果是图片不会走样。




如果我有个按钮,希望点击时背景变化,则应该使用selector


建个xml文件.Resource还是drawable,选择root为selector

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
   <item android:drawable="@drawable/btn1" android:state_pressed="false" />
   <item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/>
</selector>

然后在布局文件中,将background设置为此xml

<Button
    android:id="@+id/button2"
    android:layout_width="fill_parent"
    android:layout_height="30dp"
    android:text="Button" 
    android:background="@drawable/btn_bg"/>

点击图片,则会发现背景会变



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值