Android, Fit an Image Inside an ImageView - android

i try to fit any image inside a diamond shape. My image is dynamic, how can i handle this ?
This is what I do:
and this is what I'm trying for:

You should try something like this this creates a custom shape ImageView and then you can use it as you see fit.. then you can add some edge color to have the effect you want

Related

How to flatten (opposed to rounding) button corners

I know how make the four edges of a button rounded using a drawable shape, but can one make the corners flat, such that the button will look like it has 8 edges (like an ocotogon)?
You can use
Yuor_button.setBackgroundDrawable(//something);
This "something" can be an image of octagon or you can try using Android Shape Drawables Tutorial

Change image fill color in Android

I have an ImageView with the source being an ImageAsset.
My image is a circle with a plus and I am looking to colour the inside of the circle only. How do I do that?
Using setBackgroundColor colours the whole of the view thus giving a square background like this:
.
You can apply a color tint to your ImageView. This will not affect your background if it's transparent, just the colored part (which is the circle and the plus)
imageView.setColorFilter(ContextCompat.getColor(context, R.color.COLOR_YOUR_COLOR),
android.graphics.PorterDuff.Mode.MULTIPLY);
Update
Using android.graphics.PorterDuff.Mode.SRC_IN will also work (if you don't need to multiply the source and destination pixels)
Update 2
Since the destination part is not colored than the best solution is to use VectorDrawable.
You can use VectorChildFinder to find inner parts of your SVG resource and change its color.
VectorChildFinder vector = new VectorChildFinder(this, R.drawable.my_vector, imageView);
VectorDrawableCompat.VFullPath path1 = vector.findPathByName("path1");
path1.setFillColor(Color.RED);
imageView.invalidate();
to create your SVG, follow these steps :
Just click right button on folder(drawable for ex.) and choose:
then choose:

image background like a frame using android drawable xml

I need to create an imageview with background drawable like a frame but not getting the required design.
I'm getting these images
But the required designs are
In your layout, set the background to the required colour.
android:background="#FFF9C4"
Then add the ImageView inside the layout and add padding on Left, Right, Top and Bottom of size as per requirement.
You can explore shape too, using shape you can control the corners as well.

How to make a background fit with his button dynamically ? [Android]

I want to add an image background to my buttons (which are added dyncamilly), but the image original size looks applied by default, and it is far too big. How can I adjust my image to fit with the button size automatically ?
Drawable img = act.getResources().getDrawable(R.drawable.top);
button.setBackground(img);
Use an ImageButton http://developer.android.com/reference/android/widget/ImageButton.html
They should handle the sizing automatically
Inside your Button xml, try adding this
android:scaleType="fitCenter"

Replace TRANSPARENT part of image set in imageview with another image?

How to change TRANSPARENT part of image set in imageview with another image?
Below is the main image, there is TRANSPARENT portion(here looks white), i want to set another image withing that portion of image.
any idea how to do it?
Question:
How to find TRANSPARENT portion starting point LEFT(x,y), RIGHT (x,y), BOTTOM LEFT (x,y), BOTTOM RIGHT(x,y) ? for image replacement.
How to process bitmap in runtime to add another image to make changes in imageview?
I've tried this to find transparent part of image.
You have a bitmap (B1) and there is only one rectangle transparent zone somewhere. And you want to place another bitmap (B2) inside it.
use monte-carlo method to find any transparent pixel on B1. You know
it's coordinates now.
go [left/right/top/bottom] from transparent pixel and find
first solid pixel. Now you know transparent rectangle coorditates.
There are several ways to put something inside transparent area. You can:
place second imageview (with B2) under the first one (with B1). Set B2 padding inside imageview accordingly transparent zone coordinates.
create new image from B1 and B2 and set it to imageview.
do it some other way...
try this example in this crop image with transparent part it will use full for you.
https://github.com/ketanpatel25/Image-Cropping-In-Transparent-Area

Categories

Resources