I am trying to make one activity that will have a specific text and image based on what button was clicked in the previous activity. The first activity is a page with a bunch of different image buttons of different aquatic plants. Depending on which image button is clicked, I want the text and image of the next activity to be a description of the plant and a picture of it.
The question I have is how do I let the plant information activity know which button was clicked so that it knows which text and image to display?
A generic answer will work so I don't think you'll need any of my code, but if you feel you need it, then I'll post it.
Put it as extras in the intent you use to start the new Activity. Either put the exact strings and image uris, or put some identifier that the activity can look at and decide which one to display.
Related
What's a good way, both layout- and codewise, to accomplish the following:
Display one or more clickable images on the screen.
By default, the images are default images (duh)
When clicking on them, they change to a specified image
When clicking again, the change back to the default image
I cannot set all the images in the xml layout file(s), since I must be able to programatically set and change the images when clicking, and keep a record of the images on display etc.
In case anyone wonders: Yes, this is supposed to be a simple "memory" game, where I show x images, and click on two of them to display them, and give a result if they're identical.
I would suggest you to use ImageSwitcher, as the view, and setOnClickListener on the ImageSwitcher, to apply image changes on click action.
I want to make it such that when a person clicks an image, it opens up in full screen.
What is the most effective way to do this in Android?
The simplest way I can think of is creating an activity, with a layout with the ImageView filling the whole screen. But I think there's some way to directly open just the layout or the ImageView with an Intent?
The Best way to do this is..
When you click on image open a full screen Custom dialog with the image in it having attributes fill parent. You don't need to go in another activity your purpose will be solved in 1 activity itself thereby increasing performance and also lesser activities will be in stack.
I use a Gallery view to display set of images in the header part of my application's main page. Now I need to make the Gallery full screen when user click on any gallery image. In the full screen mode it should have the Gallery functionality (Should be able to move between images...). Finally, in the full screen mode, when user click the image, it should go back to normal screen.
It this possible with Android? Please help me.
Unfortunately you haven't told us what you've tried or haven't and thus it's hard to pick a starting point...
How I would do it, might be a little over kill using an added activity but I prefer the organization, but launch a new activity on view click and pass the strings of the paths in a bundle and the index of the one selected. Then create a bitmap or imageview, however you want to do it but make sure it can have a setOnTouchListener. This way you can use the MotionEvent to see if they swiped left or right and navigate through the list of images you passed to the activity as strings.
If you don't feel like doing bundles, you can make a static class that holds all the image information..
In my app, I am letting the user to select a background image(from a gallery of images using Gallery), i.e., on clicking a button, lets say, 'theme', 3-4 images are shown, and the user gets to select one of the images.
Now as soon as he does that, the image should appear at the background of the activity..I am trying to save this choice, by the user, in my database..
but I really have no idea how to proceed, that is, when the 'theme' button is selected, a 'themepick' activity starts, and a gallery of 3-4 images appear...when the user selects an image, this themepick activity is 'finished' and we go back to the initial activity..now in this activity, I am letting the user enter some data(through text fields) . After the user clicks save, the data is going into the database, and is being retrieved well. But i also want to save the path to the selected image(from the themepick activity), to the database, and when I am retrieving all the data and displaying the data(in a separate activity, lets say), the image should come in the background as well.
I tried to elaborate as much as possible.
I urgently need a solution as my submission is due in 2 days.
Thank you!
Use a SharedPreference.
You question doesn't seems to be specific on your problem . If I understood correctly your trying to set a background of an layout on runtime.
You need to find the layout Id and set background as below
View layout= findViewById( R.id.layout);
Bitmap bitmap = BitmapFactory.decodeStream(stream); // your image file stream from a path
BitmapDrawable bg = new BitmapDrawable(bitmap);
layout.setBackgroundDrawable(bg);
Let me know if it helps u.. :)
I am trying to make a really easy xml layout and I can't seem to get it to look the way I want.
I attached a picture of what I want it to look like:
Basically, I have a static background image in my imagebutton at the top. Below that I have a picture the user snapped in the Photo Box. I assume I need an image view for that, but would it be possible for me to instead pass the pic to the background of an image button too so I can make the size easier to manage?
Based on what the user chooses in the options before this layout, an option photo is shown based on what they select. The photo would display to the right of the centered image, if that option is selected.
Below that would be a centered text view, with another separate one below that. Finally, I would have two buttons on top of each other at the very bottom.
Could someone show me a good way to get this layout and also tell me if it is possible to take a picture that is snapped and make it the background of an image button - or if that is a bad idea?
Thanks so much!
Seems like for the most part, you just want a simple LinearLayout. For the part with the photo, you could use an embedded LinearLayout or RelativeLayout.
As for the picture - you can easily set the background of any view or view group to any image (any view has an option to set the drawable for the background).
The only thing you should consider - for the purposes of making the UI more intuitive - is to slightly modify the image for the different states (focused, selected, etc), so that the user gets visual feedback when selecting the button via the trackpad, or when clicking on the button. A "drawable" has built-in support for multiple images for each state.