|
@@ -26,9 +26,9 @@ import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
|
import java.util.Iterator;
|
|
import java.util.Iterator;
|
|
|
|
|
|
|
|
-public class PhotoGridActivity extends AppCompatActivity {
|
|
|
|
|
|
|
+public class PhotoGridActivity extends AppCompatActivity implements RAGridView.GridViewMeasure {
|
|
|
|
|
|
|
|
- private GridView gridView;
|
|
|
|
|
|
|
+ private RAGridView gridView;
|
|
|
private GridViewAdapter adapter;
|
|
private GridViewAdapter adapter;
|
|
|
private Button deleteBtn;
|
|
private Button deleteBtn;
|
|
|
private ArrayList<HashMap<String,String>> photoDic;
|
|
private ArrayList<HashMap<String,String>> photoDic;
|
|
@@ -37,6 +37,8 @@ public class PhotoGridActivity extends AppCompatActivity {
|
|
|
private static int portrait_col = 3;
|
|
private static int portrait_col = 3;
|
|
|
private int col;
|
|
private int col;
|
|
|
|
|
|
|
|
|
|
+ private boolean measuring;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
super.onCreate(savedInstanceState);
|
|
@@ -55,9 +57,11 @@ public class PhotoGridActivity extends AppCompatActivity {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- gridView = (GridView) findViewById(R.id.photo_grid_view);
|
|
|
|
|
- deleteBtn = (Button)findViewById(R.id.grid_photo_delete_btn);
|
|
|
|
|
|
|
+ gridView = (RAGridView) findViewById(R.id.photo_grid_view);
|
|
|
|
|
+ gridView.measureWorker = this;
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ deleteBtn = (Button)findViewById(R.id.grid_photo_delete_btn);
|
|
|
deleteBtn.setOnClickListener(new View.OnClickListener() {
|
|
deleteBtn.setOnClickListener(new View.OnClickListener() {
|
|
|
@Override
|
|
@Override
|
|
|
public void onClick(View v) {
|
|
public void onClick(View v) {
|
|
@@ -164,6 +168,10 @@ public class PhotoGridActivity extends AppCompatActivity {
|
|
|
return scaled;
|
|
return scaled;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void measuring(boolean m) {
|
|
|
|
|
+ this.measuring = m;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
/**Adapter*/
|
|
/**Adapter*/
|
|
|
private class GridViewAdapter extends BaseAdapter {
|
|
private class GridViewAdapter extends BaseAdapter {
|
|
@@ -196,6 +204,7 @@ public class PhotoGridActivity extends AppCompatActivity {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public View getView(int position, View convertView, ViewGroup parent) {
|
|
public View getView(int position, View convertView, ViewGroup parent) {
|
|
|
|
|
+ /**系统多次调用以测量*/
|
|
|
|
|
|
|
|
PhotoViewHolder holder = null;
|
|
PhotoViewHolder holder = null;
|
|
|
View cell;
|
|
View cell;
|
|
@@ -208,6 +217,10 @@ public class PhotoGridActivity extends AppCompatActivity {
|
|
|
holder = (PhotoViewHolder)cell.getTag();
|
|
holder = (PhotoViewHolder)cell.getTag();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if (measuring == true) {
|
|
|
|
|
+ measuring = false;
|
|
|
|
|
+ return cell;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|
final HashMap<String,String> item = photoDic.get(position);
|
|
final HashMap<String,String> item = photoDic.get(position);
|
|
@@ -216,7 +229,9 @@ public class PhotoGridActivity extends AppCompatActivity {
|
|
|
|
|
|
|
|
// Bitmap bitmap = scaleImage(path);
|
|
// Bitmap bitmap = scaleImage(path);
|
|
|
|
|
|
|
|
-// Bitmap bitmap = BitmapFactory.decodeFile(path);
|
|
|
|
|
|
|
+// Log.d("Decode", "begin path: " + path);
|
|
|
|
|
+// Bitmap bitmap = BitmapFactory.decodeFile(path);
|
|
|
|
|
+// Log.d("Decode", "end path: " + path);
|
|
|
//
|
|
//
|
|
|
// Bitmap scale = ThumbnailUtils.extractThumbnail(bitmap, 300, 300);
|
|
// Bitmap scale = ThumbnailUtils.extractThumbnail(bitmap, 300, 300);
|
|
|
//
|
|
//
|