This image browser can implement a predefined Image array in the browser program, and dynamically change the transparency of the image and view the partial details of the image. The imageview control is used, use setimagebitmap to change the image transparency and use setalphe to change the image transparency.
<? XML version = "1.0" encoding = "UTF-8"?> <Linearlayout xmlns: Android = "http://schemas.android.com/apk/res/android" Android: Orientation = "vertical" Android: layout_width = "fill_parent" Android: layout_height = "fill_parent"> <linearlayoutandroid: orientation = "horizontal" Android: layout_width = "fill_parent" Android: layout_height = "wrap_content" Android: gravity = "center"> <button Android: id = "@ + ID/plus" Android: layout_width = "wrap_content" Android: layout_height = "Wrap_content" Android: text = "Increase transparency"/> <button Android: Id = "@ + ID/minus" Android: layout_width = "wrap_content" Android: layout_height = "wrap_content" Android: text = ""/> <button Android: Id = "@ + ID/next" Android: layout_width = "wrap_content" Android: layout_height = "wrap_content" Android: text = "Next"/> </linearlayout> <! -- Define the overall imageview of the displayed image --> <imageview Android: Id = "@ + ID/image1" Android: layout_width = "fill_parent" Android: layout_height = "240px" Android: src = "@ drawable/sunyz_1" Android: scaletype = "centercrop"/> <! -- Scale up the image size in the center so that the image length (width) is equal to or greater than the view length (width) --> <! -- Define imageview for displaying partial image details --> <imageview Android: Id = "@ + ID/image2" Android: layout_width = "120dp" Android: layout_height = "120dp" Android: background = "# 0000ff" Android: layout_margintop = "10dp"/> </linearlayout>
Package Org. crazyit. imageview; import android. app. activity; import android. graphics. bitmap; import android. graphics. bitmapfactory; import android. graphics. drawable. bitmapdrawable; import android. OS. bundle; import android. view. motionevent; import android. view. view; import android. view. view. onclicklistener; import android. view. view. ontouchlistener; import android. widget. button; import android. widget. imageview; Public class imageviewtest extends activity {// defines an array int [] images = new int [] {R. drawable. sunyz_1, R. drawable. sunyz_2, R. drawable. sunyz_3, R. drawable. sunyz_4, R. drawable. sunyz_5 ,}; // defines the default image int currentimg = 2; // defines the initial transparency of the image private int alpha = 255; @ overridepublic void oncreate (bundle savedinstancestate) {super. oncreate (savedinstancestate); setcontentview (R. layout. main); Final button plus = (button) Fin Dviewbyid (R. id. plus); Final button minus = (button) findviewbyid (R. id. minus); Final imageview image1 = (imageview) findviewbyid (R. id. image1); Final imageview image2 = (imageview) findviewbyid (R. id. image2); Final button next = (button) findviewbyid (R. id. next); // define the listener next for viewing the next image. setonclicklistener (New onclicklistener () {@ overridepublic void onclick (view v) {If (currentimg> = 4) {currentimg =-1;} bitmapdrawabl E bitmapdrawable = (bitmapdrawable) image1.getdrawable (); // if the image has not been recycled, forcibly recycle the image first if (! Bitmapdrawable. getbitmap (). isrecycled () {bitmapdrawable. getbitmap (). recycle ();} // change the image image1.setimagebitmap (bitmapfactory. decoderesource (getresources (), images [++ currentimg]) ;}}); // defines the method for changing the image transparency. onclicklistener listener = new onclicklistener () {@ overridepublic void onclick (view v) {If (V = plus) {Alpha + = 20;} If (V = minus) {alpha-= 20 ;} if (alpha >=255) {alpha = 255;} If (alpha <= 0) {alpha = 0 ;}// change the image transparency image1.setalpha (alpha );}}; // Add the listener plus for the two buttons. setonclicklistener (listener); minus. setonclicklistener (listener); listener (New ontouchlistener () {@ overridepublic Boolean ontouch (view, motionevent event) {bitmapdrawable = (bitmapdrawable) image1.getdrawable (); // obtain the Bitmap bitmap = bitmapdrawable In the first image display box. getbitmap (); // double scale = bitmap. getwidth ()/280.0; // get the start point int x = (INT) (event. getx () * scale); int y = (INT) (event. gety () * scale); // int x = (INT) (event. getx (); // int y = (INT) (event. gety (); If (x + 120> bitmap. getwidth () {x = bitmap. getwidth ()-120;} If (Y + 120> bitmap. getheight () {Y = bitmap. getheight ()-120;} // display the image in the specified image2.setimagebitmap (bitmap. createbitmap (bitmap, X, Y, 120,120); image2.setalpha (alpha); Return false ;}});}}