皮皮网

【移动端 商城源码】【任务发布悬赏源码】【生鲜上门配送源码】setbackground源码

2024-11-27 13:34:15 来源:微视觉源码

1.ImageView设置background和src的区别
2.setBackground什么是set
3.setBackground和setBackgroundDrawable的区别
4.setBackground()
5.setBackgroundResource和setImageResource的区别

setbackground源码

ImageView设置background和src的区别

       ä»Šå¤©å¼€å‘的时候遇到一个小问题,在给一个ImageView更换图片的时候,我使用的是java的方式更换,使用的方法是setBackgroundResource(),但奇怪的是总是没有效果。

       æœ€åŽæŸ¥æ˜ŽåŽŸå› æ˜¯ï¼šæˆ‘在编写xml文件的时候,为了查看效果,给这个ImageView设置了src,这时候再设置background的时候回发生重叠。

       è§£å†³æ–¹æ³•ï¼šå°†xml中的src删除即可。

       é—®é¢˜å»¶ä¼¸ï¼š

       ä¸€ã€ImageView设置background和src的区别。

       1.src是图片内容(前景),bg是背景,可以同时使用。

       2.background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸 。

       3.scaleType只对src起作用;bg可设置透明度。

       äºŒã€ImageView几种不同的设置图片的方式。

       è®¾ç½®background:

       1.image.setBackground(getResources().getDrawable(R.drawable.blackk));//变形

       2.image.setBackgroundResource(R.drawable.blackk);//变形 3.image.setBackgroundDrawable(getResources().getDrawable(R.drawable.blackk));////变形

       æºç ï¼šè¿™ä¸‰ç§æ–¹æ³•çš„实质都是调用方法3setBackgroundDrawable()。

       è®¾ç½®src:

       1.image.setImageDrawable(getResources().getDrawable(R.drawable.blackk)); //不会变形

       2.Stringpath=Environment.getExternalStorageDirectory()+File.separator+”test1.jpg”;

       Bitmap bm = BitmapFactory.decodeFile(path);

       image.setImageBitmap(bm);//不会变形

       3.image.setImageResource(R.drawable.blackk);//不会变形

       æºç ï¼š 其中方法2就是将bitmap转换为drawable然后调用方法1,方法1和方法3都是调用updateDrawable()方法。

setBackground什么是set

       在计算机编程中,集合是组织和存储数据的一种重要数据结构。其中,`Set` 是移动端 商城源码一个不包含重复元素的集合。具体来说,`Set` 的元素满足 `e1.equals(e2)` 的条件时,最多只包含一对元素,且允许最多一个 `null` 元素。`Set` 接口的设计灵感来源于数学中的集合抽象,因此它在继承自 `Collection` 接口的基础上,增添了额外的任务发布悬赏源码规则。

       为了便于使用,`Set` 接口还扩展了构造方法、`add`、`equals` 和 `hashCode` 方法的定义。这些方法的生鲜上门配送源码规定超出了从 `Collection` 接口继承的内容,旨在提供更具体的实现细节。此外,`Set` 接口中还包含了其他继承方法的声明,这些声明针对 `Set` 接口进行了修改,但没有引入新的游资股道amc源码规定。

       值得注意的是,所有构造方法都必须创建一个不包含重复元素的 `Set`。然而,在使用可变对象作为 `Set` 的元素时,需要特别小心。游戏社交app源码如果对象是 `Set` 中的元素之一,并通过影响 `equals` 比较的方式改变其值,那么 `Set` 的行为将是不确定的。特别地,`Set` 通常不允许包含自身作为元素,这是一个常见的特殊情况。

       总之,`Set` 是一个关键的集合概念,它保证了元素的唯一性,并提供了灵活的方法来操作和管理数据。在使用 `Set` 时,理解其基本特性和规则至关重要,尤其是在涉及可变对象时,更应保持警惕,以避免潜在的行为不一致性。

setBackground和setBackgroundDrawable的区别

       (1)在API之后,Android系统由setBackground方法替代了setBackgroundDrawable方法,但是经查看源码,setBackground方法中是直接调用了setBackgroundDrawable方法,所以API之后既可以使用setBackground,也可以使用setBackgroundDrawable,但是使用setBackgroundDrawable提示过时。

       (2)在API之前,Android值提供了setBackgroundDrawable方法。

       æ‰€ä»¥æˆ‘们在程序中可以进行判断

       [java] view plain copy

       /

**

       * 在API以前使用setBackgroundDrawable,在API以后使用setBackground

       * API<---->4.1

       * @param view

       * @param drawable

       */

       private void setBackgroundOfVersion(View view, Drawable drawable) {

       if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {

       //Android系统大于等于API,使用setBackground

       view.setBackground(drawable);

       } else {

       //Android系统小于API,使用setBackground

       view.setBackgroundDrawable(drawable);

       }

       }

setBackground()

        一、给View设置背景图片:

        (1)setBackground(Drawable background)

        (2)setBackgroundDrawable(Drawable background)

        (3)setBackgroundResource(int resid)

        需要注意的是:

        二、给View设置背景颜色:

        (1)setBackgroundColor(int color)

        该函数参数为int类型的颜色,我们可以直接传入int类型的颜色,也可以将string类型的颜色字符串转换为int类型,这需要用到Color.parseColor(String colorString)函数来解析颜色字符串,如果该颜色字符串的格式不不支持,会抛出IllegalArgumentException异常。支持的颜色字符串格式有:

        Color.class中常见int型颜色:

setBackgroundResource和setImageResource的区别

       æ‚¨å¥½ï¼Œå®ƒä»¬çš„原型如下:

       void android.widget.ImageView.setImageResource(int resId)

       void android.view.View.setBackgroundResource(int resid)

       åŒºåˆ«æ˜¯ï¼š

       setImageResource与xml中的src的属性才是相匹配的,

       è€ŒsetBackgroundResource是与xml中的background属性相匹配的。