Sure! A ZoomGallery has the method tap_toggle_UI which will hide/show the UI when tapped. It's the default value of the single_tap_event property. At its most basic, that method is just toggling self.show_ui = not self.show_ui. So, you too can make a button with the action ToggleField(zg, "show_ui") in your ZoomGallery.
For your second question, you're welcome to style the screen you set with zg.screen or similar however you like. If you'd like an easy way to get the name/variant number of the currently showing image, you can add the following to the ZoomGallery class (I put it around line 978):
def get_image_name(self):
"""
Get the name of the image currently being displayed by the
ZoomGallery.
"""
return self.unlocked_images[self.current_index].name
def get_image_variant(self):
"""
Return the index of the currently showing image variant.
"""
return self.unlocked_images[self.current_index].image_index
Then you can get the name you declared the image with via zg.get_image_name() and the index via zg.get_image_variant(). Mostly I'm envisioning you could use this information to make a dictionary of the descriptions you want for the images, or just a series of if/else statements.
For the RPA file - there's code at the end of the files that archives it. If you don't remove that, it'll package the files into an rpa file for release automatically.