android自定义控件(7)-获取自定义ImageView的src属性
2016-12-13 16:54
519 查看
创建一个自定义组件,继承 ImageView。
在我的 xml 布局文件中是这样设置的:
如何在 Mycomponent 的 constructor 里创建一个 Bitmap类?
首先想查看 ImageView 的源代码,但是 它是Android的内部代码,我们无法这样使用。
后来发现有2种解决方案。
1:定义过一个自己的属性(例:img),再用下面的方法得到
2:通过默认属性获得:
在我的 xml 布局文件中是这样设置的:
<Mycomponent android:src="@drawable/my_test_image"> </Mycomponent>
如何在 Mycomponent 的 constructor 里创建一个 Bitmap类?
首先想查看 ImageView 的源代码,但是 它是Android的内部代码,我们无法这样使用。
TypedArray a = context.obtainStyledAttributes(attrs, com.android.internal.R.styleable.ImageView, defStyle, 0); Drawable d = a.getDrawable(com.android.internal.R.styleable.ImageView_src);
后来发现有2种解决方案。
1:定义过一个自己的属性(例:img),再用下面的方法得到
TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.ButtonPreference, defStyle, 0); Drawable drawable = a.getDrawable(R.styleable.MyComponent_img); //button的名称 a.recycle();
2:通过默认属性获得:
public Mycomponent (Context context, AttributeSet attrs) { super(context, attrs); int src_resource = attrs.getAttributeResourceValue("http://schemas.android.com/apk/res/android", "src", 0); this.setImageBitmap(getDrawable(getResources(),src_resource)); } public static Bitmap getDrawable(Resources res, int id){ return BitmapFactory.decodeStream(res.openRawResource(id)); }
相关文章推荐
- Android 自定义ImageView实现src属性的选择器效果
- android自定义View构造方法以及获取自定义属性详解
- ImageView---属性android:background与android:src的区别
- Android自学笔记之ImageView的特殊属性及同为背景属性的src、background区别
- 【Android 界面效果32】ImageView中XML属性src和background的区别
- Android实习札记(10)---ImageView的src属性 VS blackground
- android:ImageView中XML属性src和background的区别
- Android studio中使用ImageView时android:src属性出错问题解决方案!
- android 自定义View研究(二) — 自定义控件添加属性
- Android基础教程——在TextView中显示Html 自定义标签,获取标签属性
- Android中ImageView属性src和background的几点区别
- Android自定义View获取自定义属性
- ImageView的android:scaleType属性和 src、Background之前的区别
- android中imageView属性src,background和scaleType之间的区别
- Android中如何使用自定义view 自定义控件属性及动态自定义控件
- ImageView的android:scaleType属性和 src、Background之前的区别
- android中ImageView的属性使用之src和background
- Android自定义View及自定义控件属性declare-styleable:自定义控件的属性(attr.xml,TypedArray)的使用
- Databinding简单的分析ImageView属性android:src="@{resImgId}"的调用流程
- Android(java)学习笔记204:自定义SmartImageView(继承自ImageView,扩展功能为自动获取网络路径图片)