Android之最简单的ImageView加边框方法

摘要:
通常,如果我们想向ImageView添加边框,例如宽度为3dp的灰色框,我们需要定义MyImageView类,从ImageView继承,并在其onDraw方法中绘制画布。这里有一个简单的方法。您不需要创建派生类或准备图片。它是以xml定义的方式实现的shapexmlns:android=“http://schemas.android.com/apk/res/android“˃www.2cto.com使用Imageview定义页面上的代码:第二个˃˂!

通常情况下,如果我们要给ImageView加上边框,比如宽为3dp的灰色框,是自己定义一个MyImageView类,继承自ImageView,在其onDraw方法中画canvas。

还有设置一个带有边框的背景图片的方法。
 
这里给出一种简单方法,既不需要创建衍生的类,也不需要准备图片。采用xml定义的方式实现。
背景定义xml: bg_border.xml
<?xml version="1.0" encoding="UTF-8"?>     
<shape xmlns:android="http://schemas.android.com/apk/res/android">     
  <solid android:color="#EEEEEE" />    www.2cto.com 
  <stroke android: android:color="#EEEEEE" />     
  <corners android:radius="0dp" />     
  <padding android:left="0dp" android:top="0dp"      
    android:right="0dp" android:bottom="0dp" />     
</shape>   
 
在Imageview定义页面上使用代码:
<ImageView android:     
           android:layout_height="63dp"      
           android:layout_width="63dp"     
           android:background="@drawable/bg_border"     
           android:padding="3dp"     
        />    
 
 
第二种
<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!-- 设置边框的大小和颜色 -->
    <stroke 
        android:width="1dp" 
        android:color="@color/black"/>
    <!-- 设置图形内的颜色,此处为透明色 -->
    <solid android:color="@android:color/transparent"/>
    <!-- 定义圆角弧度 圆的话就是半径 -->
    <corners android:radius="0dp"/>
    
    <!-- 
    
    <corners
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp"
        android:topLeftRadius="0dp"
        android:topRightRadius="0dp" />
    
     -->

    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp"/>
</shape>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
 
    <!-- 设置边框的大小和颜色 -->
    <stroke
        android:width="3.5dip"
        android:color="@color/white" />
 
    <!-- 设置图形内的颜色,此处为透明色 -->
    <solid android:color="@android:color/transparent" />
 
    <!-- 定义圆角弧度 圆的话就是半径 -->
    <corners
        android:bottomLeftRadius="75dp"
        android:bottomRightRadius="75dp"
        android:topLeftRadius="75dp"
        android:topRightRadius="75dp" />
 
</shape>

免责声明:文章转载自《Android之最简单的ImageView加边框方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇1046. 划拳(15)通过命令行查看当前android系统的版本下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android——悬浮窗+侧边弹框+淡入淡出+背景shape+SeekBar调节手机亮度

悬浮窗实现原理:  悬浮窗要实现,需要用到几个关键的类。  WindowManager:声明了 addView() 、updateViewLayout()、removeView()三个方法的接口     要创建出悬浮窗:那就得使用addView(布局对象,布局参数)方法     要更新悬浮窗的数据,如实现拖动悬浮框:那就得使用updateViewLayou...

Android | 带你零代码实现安卓扫码功能

目录 小序 背景介绍 前期准备 开始搬运 结语 小序   这是一篇纯新手教学,本人之前没有任何安卓开发经验(尴尬),本文也不涉及任何代码就可以使用一个扫码demo,华为scankit真是新手的福音…… 背景介绍   最近被导师要求做一个购物收费的app,毕设好难呀~ 网上找了半天全是zxing,但是扫码效果真是有点小垃圾,无奈只能继续寻寻觅觅…...

高并发秒杀系统API之SSM集成swagger与AdminLTE

初衷与整理描述 Java高并发秒杀系统API是来源于网上教程的一个Java项目,慕课网地址:https://www.imooc.com/learn/587。 也是我接触Java的第一个项目。本来是一枚c#码农,公司计划部分业务转java,于是我利用业务时间自学Java才有了本文,本来接触之初听别人说,c#要转java很容易,我也信了,但是真正去学习的时候还...

NEXUS S安卓4.0/4.1 【完美】 ROOT教程

原文链接:http://bbs.gfan.com/android-3517082-1-1.html 进行bootloader解锁(即使解锁,再上锁),会清除你手机上的【所有】数据(包括内部的16G SD 存储),包括但不限于应用、设置、联系人和账户等,请做好数据备份!·理论上对各种版本、各种机型的ROM都可以获取ROOT权限。·关于Busybox,麻烦各位...

Yosemite.apk

一般情况下,在我们用Airtest连接Android设备(真机或模拟器)的时候,Yosemite.apk 就会被自动安装到我们的设备上。当程序执行到输入语句时,也会启用 Yosemite 输入法来进入输入操作。 但很多新手同学对于这个 Yosemite.apk 还不是那么熟悉,我们官网上也没有详细的文档对它进行介绍。所以今天我们总结了6点同学们常问的、关...

android spinner学习

   用法 1 :以资源方式,静态展示 Spinner 选项 1.     在资源文件 (strings.xml) 中,增加:          < string name = "spin_prompt" > 请选择城市 </ string >          < string-array name = "cities" &...