Knowledge points
1. Grid view
2. Reading files
Mainacitvity
PackageCom.test.gridview;Importandroid.support.v7.app.AppCompatActivity;ImportAndroid.os.Bundle;ImportAndroid.view.View;ImportAndroid.widget.AdapterView;ImportAndroid.widget.GridView;ImportAndroid.widget.Toast; Public classMainactivityextendsappcompatactivity {@Overrideprotected voidonCreate (Bundle savedinstancestate) {Super. OnCreate (savedinstancestate); Setcontentview (R.layout.activity_main); GridView GridView=(GridView) Findviewbyid (R.id.gridview); Gridview.setadapter (NewImageadapter ( This)); Gridview.setonitemclicklistener (NewAdapterview.onitemclicklistener () { Public voidOnitemclick (adapterview<?>Parent, View V,intPositionLongID) {toast.maketext (mainactivity. This, "" +position, Toast.length_short). Show (); } }); }}View Code
Imageadapter
PackageCom.test.gridview;ImportAndroid.content.Context;ImportAndroid.graphics.Bitmap;Importandroid.graphics.BitmapFactory;ImportAndroid.view.View;ImportAndroid.view.ViewGroup;ImportAndroid.widget.BaseAdapter;ImportAndroid.widget.GridView;ImportAndroid.widget.ImageView;Importjava.util.List;ImportJava.util.Map;/*** Created by 1 on 2016/4/17.*/ Public classImageadapterextendsBaseadapter {PrivateContext Mcontext; PublicImageadapter (Context c) {Mcontext=C; } Public intGetCount () {returnimagepath.size (); } PublicObject GetItem (intposition) { return NULL; } Public LongGetitemid (intposition) { return0; } //Create a new ImageView for each item referenced by the Adapter PublicView GetView (intposition, View Convertview, ViewGroup parent) {ImageView ImageView; if(Convertview = =NULL) { //if it ' s not recycled, initialize some attributesImageView =NewImageView (Mcontext); Imageview.setlayoutparams (NewGridview.layoutparams (85, 85)); Imageview.setscaletype (ImageView.ScaleType.CENTER_CROP); Imageview.setpadding (8, 8, 8, 8); } Else{ImageView=(ImageView) Convertview; } Bitmap Bitmap=Bitmapfactory.decodefile (imagepath.get (position). Get (Fileutils.image_path)); Imageview.setimagebitmap (bitmap); returnImageView; } Privatelist<map<string, string>> ImagePath =fileutils.getfiles (Fileutils.sdpath);}View Code
FileUtils
PackageCom.test.gridview;Importandroid.os.Environment;ImportJava.io.File;Importjava.util.ArrayList;ImportJava.util.HashMap;Importjava.util.List;ImportJava.util.Map;/*** Created by 1 on 2016/4/17.*/ Public classFileUtils { Public StaticString[] Imageformatset = {"JPG", "png", "GIF"}; Public StaticString Sdpath = environment.getexternalstoragedirectory () + "/00meeting/"; Public StaticString image_name = "ImageName"; Public StaticString image_path = "ImagePath"; /*** Determine if it is a picture file * *@paramPath *@return */ Public Static Booleanisimagefile (String path) { for(String format:imageformatset) {if(Path.endswith (format)) {return true; } } return false; } Public StaticList<map<string, string>>getFiles (String path) {List<map<string, string>> pathList =NewArraylist<>(); File File=NewFile (path); file[] Files=File.listfiles (); for(File f:files) {if(F.isdirectory ()) {GetFiles (F.getabsolutepath ()); } Else { if(Isimagefile (F.getpath ())) {Map<string, string> map =NewHashmap<>(); Map.put (Fileutils.image_name, F.getname ()); Map.put (Fileutils.image_path, F.getpath ()); Pathlist.add (map); } } } returnpathList; }}View Code
Android Display Directory slice