Changing values of attributes in Android only accessible by XML
I had to use today the cropToPadding attribute for an ImageView in Android. It’s the way to go if you want to mimic Aspect Fill scaling with Clipped Subviews from iOS, by using it and centerCrop as scaleType.
For example, if I wanted to do it from a layout, it would be like this.
Pretty simple.
But the problem is… can I do this programmatically?
The short answer is not directly. You have no setCropToPadding(true) in the API for ImageView.
So, if you want to set a value using a non-existent accessor, you have to do either inflating a style XML or with a little hack. I’m not fond of hacks because they tend to give you problems with unreleased versions of the OS, but in this case, it’s kind of a big deal working it out with XML defined attributes.
The hacky way that saved my ass today is this.
Worked like a charm.