内部ストレージに(日付で)保存した画像を縮小してGridViewで表示するやり方がわかりませんのでご教示お願い致します。
drawableの画像をGridViewに表示したり、内部ストレージに保存した画像をImageViewに1つだけ表示は出来たのですが、複数の画像をGridViewに表示するやり方がわかりません。
コードはMemoListに遷移した時に仮にdrawableの画像を表示させています。
これを内部ストレージの画像にしたいです。
<MemoList.java>
import
1import android.content.Intent; 2import android.graphics.Bitmap; 3import android.graphics.BitmapFactory; 4import android.graphics.Matrix; 5import android.os.Bundle; 6import android.util.Log; 7import android.view.View; 8import android.view.View.OnClickListener; 9import android.widget.Button; 10import android.widget.GridView; 11 12import java.io.IOException; 13import java.io.InputStream; 14 15public class MemoList extends Activity implements OnClickListener { 16 17 private InputStream is; 18 19 @Override 20 protected void onCreate(Bundle savedInstanceState) { 21 super.onCreate(savedInstanceState); 22 setContentView(R.layout.memo_list); 23 24 try { 25 String[] fileNames = fileList(); 26 StringBuilder fileList = new StringBuilder(); 27 for (String fileName : fileNames) { 28 is = openFileInput(fileName); 29 fileList.append(fileName).append('\n'); 30 31 Bitmap bitmap = BitmapFactory.decodeStream(is); 32 int imageWidth = bitmap.getWidth(); 33 int imageHeight = bitmap.getHeight(); 34 Matrix matrix = new Matrix(); //Matrix 35 float ratio = 0.2f; 36 matrix.preScale(ratio, ratio); //resize 37 Bitmap bitmaps = Bitmap.createBitmap(bitmap, 0, 0, imageWidth, imageHeight, matrix, true); 38 39 //((ImageView) findViewById(R.id.bitmapView)).setImageBitmap(bitmaps); 40 is.close(); 41 } 42 } catch (IOException e) { 43 e.printStackTrace(); 44 45 } 46 47 GridView gridView = findViewById(R.id.gridview); 48 gridView.setAdapter(new GridAdapter(this)); 49 } 50 51} 52
<GridAdapter.java>
import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; public class GridAdapter extends BaseAdapter { private Context mContext; private LayoutInflater mLayoutInflater; private Integer[] mHueIdArray = { R.drawable.sample_0, R.drawable.sample_1, R.drawable.sample_2, R.drawable.sample_3, R.drawable.sample_4, R.drawable.sample_5, R.drawable.sample_6, R.drawable.sample_7, }; private static class ViewHolder { public ImageView hueImageView; } public GridAdapter(Context context) { mContext = context; mLayoutInflater = LayoutInflater.from(context); } public int getCount() { return mHueIdArray.length; } public Object getItem(int position) { return mHueIdArray[position]; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = mLayoutInflater.inflate(R.layout.grid_item, null); holder = new ViewHolder(); holder.hueImageView = convertView.findViewById(R.id.grid_imageview); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.hueImageView.setImageResource(mHueIdArray[position]); return convertView; } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/03 05:07