In my activity I have two thumbnail pictures. I want to show the pictures in real size if I click on each thumbnail. Is it possible? If yes what is the procedure?
Here are some of the approaches you can try:
ImageSwitcher you can refer to code sample in you API demos:
Place your thumbnails in a GridView and pass the Drawable resource object key to another activity which shows the resources full screen. A bit of advanced stuff.
Hope this helps,
Cheers!!
Related
I want to show Thumbnails for images present on device in a GridView and I'm using getThumbnail method to get thumbnails. But for some reason when I set returned thumbnails to ImageViews in gridview, they are not clear(blurry). For example, if there's a text in an image then I'm not able to read that text in my app whereas I can read it in the native android gallery app. I hope this gives a idea of what my problem is. I think its probably because the imageview size is greater than image size.
I have tried to use methods like extractThumbnail in conjunction with BitmapFactory.Options inSampleSize but sometimes it generate OutOfMemoryException.
What should I do to resolve this issue so that the thumbnails are as clear as they appear in android native gallery application?
If I remember correctly, getThumbnail will return a scaled image. If you are then scaling that image back up to fit in your GridView, then that would account for the blurriness.
You can try scaling the images to the correct size yourself, then displaying it to the GridView.
You may also want to look at UIL. It is an awesome Open Source project that helps with Image Loading and can fix your memory issue.
I need a tutorial where in I can get images from a folder to display in grid view and then on click of the image in grid I can see full view and swipe functionality
any tutorial or code here please
thanks in advance
I think this is not hard to perform.
Find out your SD card folder path, scan and store image files and get image path in the SD card folder, get the bitmap from stored image path and put in to gridview. set gridview item selected listener to display image when click on a item.
There will not have a example code contains all the function you need. you can divide the problem to small ones, then try to solve it piece by piece. For example: solve scan image file from a folder first.
If the code given in gitHub can not fetch your images then paste the
path here which is used to fetch the images.
To set images in grid view, you already got the code. But now you
want to slide the images one by one. Then I can give you a hint that
use gallery view of android. It provides slider of small images. You
need to change the resolution of images. You need to combine these 2
views.
I am using the following code to pick a folder from the SDCard.
Environment.getExternalStorageDirectory();
After selecting the folder, I return the path of the folder and display it in a text view currently.
What I want to do is, I want to display all images in the selected folder in the form of a slide show. How do I go about in doing this?
1. convert images in the Bitmap.
Bitmap bm = BitmapFactory.decodeFile(String pathName);
Decode a file path into a bitmap.BitmapFactory
2. Using ImageView set that Bitmap in ImageView.
ImageView.setImageBitmap(Bitmap bm);
Sets a Bitmap as the content of this ImageView.
3. For slide show just after some delay (use timer) after change the bitmap of ImageView.
We are appreciate If you are do by yourself. Without finding any code.
EDIT: Here Mihai Fonoage's Blog Displaying Images from SD Card In Android - Part 2 It display images from sdcard in Gridview. You can modified it and display Images one-by-one as a slideshow.
If all you want to do is cycle through the images one by one, there are numerous options. You could for example simply use a Timer (or preferably a ScheduledThreadPoolExecutor if you're writing production code) with a fixed interval or have a Handler repeatedly post itself with a certain delay. With each 'tick' you can then simply set the next image.
If you're after something a little more fancy, it may be worth looking at implementing an ImageSwitcher, which provides the ability to also show thumbs of upcoming/previous images. Code examples are wide spread, e.g. here (scroll down a bit).
I am trying to display some images in one ImageView to obtain the functionality of slide show.
I am registering an Animation Listener to the imageview for changing each picture.
When slide show is displaying, some of the images are not visible, but its memory is allocating.
I am converting images from URL to bitmap. After doing inSampleSize = 4, I am setting the bitmap to ImageView.
Why these images are not visible? the images with below 100 Kb are visible, but with 500kb has the problem.
Thanks..
EDITED
Actually when the application launches, the images from the URL are converted to bytes and it is stored in the DB. And when we click on the Slide show button in another activity, these bytes are converted to bitmap and showed by the ImageView.
If your images are larger than a few kB, it is best practice to use a ContentProvider rather than loading these images directly from storage. This may be your problem.
http://developer.android.com/guide/topics/providers/content-providers.html#querying
Give this a read and try the ContentResolver.openInputStream and Cursor.getBlob() method of retrieving images, and see if it works any better for you.
Hope this helps!
Sorry all,
Finally I figured out the problem.
I increase the duration of animation according to image size.
Now all images are displaying fine.
I have my app working where it comes to a screen with 6 thumbnails. The user will select one and the next screen is a full image. I've accomplished this through an OnClickListener to call a new activity/xml (I'm new at this, sorry if my terminology is a little off).
My question is: is there a way to avoid creating 6 activty/xml (one for each thumbnail)? ultimately, my app will have about 40 thumbnails that can be selected for full screen view.
I've been trying to follow examples online where it appears that the code is presenting the full image within java instead of referencing an xml file. I've also seen use of Bitmap and BitmapFactory. Is this the way to go?
If the full screen image can be created dynamically within java, will the Back button still work to the user back to the screen with 6 thumbnails?
thanks, J
The simplest approach to take is to pass a reference to the image in the intent you use to launch the full-screen activity.
You can use the BitmapFactory to create a Bitmap, and then update the ImageView (or however you're displaying the image) from the loaded bitmap.
Using this approach, the back button will still work normally, but you'll only need one activity to display the full-screen image.