diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c68dcaa01..84542143e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,17 +9,14 @@ android:supportsRtl="true" android:theme="@style/AppTheme"> - - + - - - \ No newline at end of file + diff --git a/app/src/main/java/com/example/android/android_me/ui/MainActivity.java b/app/src/main/java/com/example/android/android_me/ui/MainActivity.java index d854d5c3f..187813716 100755 --- a/app/src/main/java/com/example/android/android_me/ui/MainActivity.java +++ b/app/src/main/java/com/example/android/android_me/ui/MainActivity.java @@ -24,12 +24,9 @@ // This activity is responsible for displaying the master list of all images public class MainActivity extends AppCompatActivity { - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - } - } diff --git a/app/src/main/java/com/example/android/android_me/ui/MasterListAdapter.java b/app/src/main/java/com/example/android/android_me/ui/MasterListAdapter.java index ed4ee4158..d52c15be4 100755 --- a/app/src/main/java/com/example/android/android_me/ui/MasterListAdapter.java +++ b/app/src/main/java/com/example/android/android_me/ui/MasterListAdapter.java @@ -20,9 +20,10 @@ import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; -import android.widget.GridView; import android.widget.ImageView; +import com.example.android.android_me.R; + import java.util.List; @@ -35,6 +36,7 @@ public class MasterListAdapter extends BaseAdapter { /** * Constructor method + * * @param imageIds The list of images to display */ public MasterListAdapter(Context context, List imageIds) { @@ -60,25 +62,26 @@ public long getItemId(int i) { return 0; } - /** - * Creates a new ImageView for each item referenced by the adapter - */ public View getView(final int position, View convertView, ViewGroup parent) { - ImageView imageView; if (convertView == null) { - // If the view is not recycled, this creates a new ImageView to hold an image - imageView = new ImageView(mContext); - // Define the layout parameters - imageView.setAdjustViewBounds(true); - imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); - imageView.setPadding(8, 8, 8, 8); - } else { - imageView = (ImageView) convertView; + convertView = View.inflate(mContext, R.layout.image_item, null); + + final ImageView imageView = (ImageView) convertView.findViewById(R.id.image_item); + final ViewHolder viewHolder = new ViewHolder(imageView); + convertView.setTag(viewHolder); } // Set the image resource and return the newly created ImageView - imageView.setImageResource(mImageIds.get(position)); - return imageView; + final ViewHolder viewHolder = (ViewHolder) convertView.getTag(); + viewHolder.imageViewItem.setImageResource(mImageIds.get(position)); + return convertView; } + private class ViewHolder { + private final ImageView imageViewItem; + + ViewHolder(ImageView imageViewItem) { + this.imageViewItem = imageViewItem; + } + } } diff --git a/app/src/main/java/com/example/android/android_me/ui/MasterListFragment.java b/app/src/main/java/com/example/android/android_me/ui/MasterListFragment.java index 7c9f210ca..32748d2c3 100755 --- a/app/src/main/java/com/example/android/android_me/ui/MasterListFragment.java +++ b/app/src/main/java/com/example/android/android_me/ui/MasterListFragment.java @@ -26,7 +26,6 @@ import com.example.android.android_me.R; import com.example.android.android_me.data.AndroidImageAssets; - // This fragment displays all of the AndroidMe images in one large list // The list appears as a grid of images public class MasterListFragment extends Fragment { @@ -43,7 +42,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, final View rootView = inflater.inflate(R.layout.fragment_master_list, container, false); // Get a reference to the GridView in the fragment_master_list xml layout file - GridView gridView = (GridView) rootView.findViewById(R.id.images_grid_view); + GridView gridView = (GridView) rootView.findViewById(R.id.image_grid_view); // Create the adapter // This adapter takes in the context and an ArrayList of ALL the image resources to display @@ -55,5 +54,4 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, // Return the root view return rootView; } - } diff --git a/app/src/main/res/layout/activity_android_me.xml b/app/src/main/res/layout/activity_android_me.xml index c65bc721b..3be9b5bb5 100644 --- a/app/src/main/res/layout/activity_android_me.xml +++ b/app/src/main/res/layout/activity_android_me.xml @@ -1,5 +1,4 @@ - - - - + - + android:scaleType="centerInside" /> - + android:scaleType="centerInside" /> diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 70ace7801..18c1e7536 100755 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,5 +1,4 @@ - - - - - - - \ No newline at end of file + android:layout_height="match_parent" /> diff --git a/app/src/main/res/layout/fragment_master_list.xml b/app/src/main/res/layout/fragment_master_list.xml index af422d9e0..ba1020b89 100755 --- a/app/src/main/res/layout/fragment_master_list.xml +++ b/app/src/main/res/layout/fragment_master_list.xml @@ -1,5 +1,4 @@ - - - - + android:verticalSpacing="8dp" /> diff --git a/app/src/main/res/layout/image_item.xml b/app/src/main/res/layout/image_item.xml new file mode 100644 index 000000000..9c47f1ac2 --- /dev/null +++ b/app/src/main/res/layout/image_item.xml @@ -0,0 +1,8 @@ + +