Skip to content

Commit

Permalink
Merge pull request square#33 from android/jw/grid-view
Browse files Browse the repository at this point in the history
Switch sample to use an in-your-face GridView.
  • Loading branch information
pyricau committed Apr 11, 2013
2 parents 815ee72 + e10eed0 commit 5b813f4
Show file tree
Hide file tree
Showing 12 changed files with 63 additions and 95 deletions.
Binary file added picasso-sample/res/drawable/placeholder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 0 additions & 5 deletions picasso-sample/res/drawable/placeholder.xml

This file was deleted.

24 changes: 0 additions & 24 deletions picasso-sample/res/layout/list_item.xml

This file was deleted.

9 changes: 9 additions & 0 deletions picasso-sample/res/layout/sample_activity.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>

<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="@integer/column_count"
android:drawSelectorOnTop="true"
/>
4 changes: 4 additions & 0 deletions picasso-sample/res/values-w500dp/integers.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="column_count">3</integer>
</resources>
4 changes: 4 additions & 0 deletions picasso-sample/res/values-w600dp/integers.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="column_count">4</integer>
</resources>
4 changes: 4 additions & 0 deletions picasso-sample/res/values-w700dp/integers.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="column_count">5</integer>
</resources>
4 changes: 4 additions & 0 deletions picasso-sample/res/values/integers.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="column_count">2</integer>
</resources>
Original file line number Diff line number Diff line change
@@ -1,32 +1,33 @@
package com.squareup.picasso.sample;

import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ListView;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;
import com.squareup.picasso.Picasso;

import static android.os.StrictMode.ThreadPolicy;
import static android.widget.Toast.LENGTH_SHORT;

public class SampleActivity extends Activity {
private SampleAdapter adapter;

@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
StrictMode.setThreadPolicy(new ThreadPolicy.Builder().detectAll().penaltyLog().build());
}
setContentView(R.layout.sample_activity);

adapter = new SampleAdapter(this);

ListView lv = new ListView(this);
lv.setAdapter(adapter);

setContentView(lv);
GridView gv = (GridView) findViewById(R.id.grid_view);
gv.setAdapter(adapter);
gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long itemId) {
Toast.makeText(SampleActivity.this, adapter.getItem(position), LENGTH_SHORT).show();
}
});
}

@Override public boolean onCreateOptionsMenu(Menu menu) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
package com.squareup.picasso.sample;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;

import static android.widget.ImageView.ScaleType.FIT_CENTER;

public class SampleAdapter extends BaseAdapter {
private final Context context;
private final LayoutInflater inflater;

public SampleAdapter(Context context) {
this.context = context;
this.inflater = LayoutInflater.from(context);
}

@Override public int getCount() {
Expand All @@ -31,36 +28,23 @@ public SampleAdapter(Context context) {
}

@Override public View getView(int position, View convertView, ViewGroup parent) {
Holder holder;
if (convertView != null) {
holder = (Holder) convertView.getTag();
} else {
holder = new Holder();
convertView = inflater.inflate(R.layout.list_item, parent, false);
convertView.setTag(holder);
holder.image = (ImageView) convertView.findViewById(R.id.image);
holder.name = (TextView) convertView.findViewById(R.id.name);
SquaredImageView view = (SquaredImageView) convertView;
if (view == null) {
view = new SquaredImageView(context);
view.setScaleType(FIT_CENTER);
}

// Get the image URL for the current position.
String url = getItem(position);

// Set the URL into the text field.
holder.name.setText(url);

// Trigger the download of the URL asynchronously into the image view.
Picasso.with(context) //
.load(url) //
.placeholder(R.drawable.placeholder) //
.error(R.drawable.error) //
.into(holder.image);

return convertView;
}
.into(view);

private static class Holder {
ImageView image;
TextView name;
return view;
}

private static final String BASE = "http://upload.wikimedia.org/wikipedia/commons/thumb";
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.squareup.picasso.sample;

import android.content.Context;
import android.widget.ImageView;

/** An image view which always remains square with respect to its width. */
public class SquaredImageView extends ImageView {
public SquaredImageView(Context context) {
super(context);
}

@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth());
}
}

0 comments on commit 5b813f4

Please sign in to comment.