I am trying to create a custom component which inherits from RelativeLayout.
In my xml layout file, I have:
<Mycomponent
android:src="@drawable/my_test_image">
<TestView>
</Mycomponent>
My question is how can I create a Drawable class in the constructor of Mycomponent?
I have tried to read the source code of ImageView, but it seems tried to some android Internal.R .
Is there anyway I can do that in my code.
Thank you.
I think Luksprog it's wrong, I have an easy solution to access you custom component "src" data without styleable, just calling the AttributeSet:
attrs.getAttributeResourceValue("http://schemas.android.com/apk/res/android", "src", 0);
Here you can see my example to make bitmaps size more cheap, jeje.
public CustomView(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));
}
Now you will have something in the xml like this:
<com.example.com.jfcogato.mycomponent.CustomView
android:id="@+id/tAImageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/big_image_example"/>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With