How to put image slider in gridview app?



I am new to coding in android and also Stack overflow website.. and I have no previous experience in any coding platform.... I have developed an app by using various online blogs for android beginners . The app I developed is simple gallery/wallpaper app, When user presses on any image it becomes bigger. In other words, when user touches the image it shows them the image. However, I would like to modify the app. So that when user presses the image it should show him the image , but instead of pressing the back button. It should allow the user to swipe easily between images. Any help will be greatly appreciated..Thanks in advance...


My Main java code... looks like the following..



import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class GridViewActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.grid);

GridView gView = (GridView) findViewById(R.id.grid_View);
gView.setAdapter(new ImageAdapter(this));

gView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Intent intent = new Intent(getApplicationContext(), FullImage.class);
intent.putExtra("id", position);
startActivity(intent);

}
});
}

public class ImageAdapter extends BaseAdapter {
public ImageAdapter(Context c) {
mContext = c;
}

public int getCount() {
return mThumbIds.length;
}

public Object getItem(int position) {
return position;
}

public long getItemId(int position) {
return position;
}

public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(70, 70));
imageView.setAdjustViewBounds(false);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
} else {
imageView = (ImageView) convertView;
}

imageView.setImageResource(mThumbIds[position]);

return imageView;
}

private Context mContext;

public Integer[] mThumbIds = {
R.drawable.sample_thumb_0, R.drawable.sample_thumb_1,
R.drawable.sample_thumb_2, R.drawable.sample_thumb_3,
R.drawable.sample_thumb_4, R.drawable.sample_thumb_5,
R.drawable.sample_thumb_6, R.drawable.sample_thumb_7,
R.drawable.sample_thumb_8, R.drawable.sample_thumb_9,
R.drawable.sample_thumb_10, R.drawable.sample_thumb_11,
R.drawable.sample_thumb_12, R.drawable.sample_thumb_13,
R.drawable.sample_thumb_14, R.drawable.sample_thumb_15,
R.drawable.sample_thumb_16, R.drawable.sample_thumb_17
};
}
}


Full image.java



import com.cw.grid.GridViewActivity.ImageAdapter;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

import android.widget.ImageView;

public class FullImage extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fullimage);

Intent intent = getIntent();
int position = intent.getExtras().getInt("id");
GridViewActivity x = new GridViewActivity();
ImageAdapter imageAdapter = x.new ImageAdapter(this);

ImageView imageView = (ImageView) findViewById(R.id.image_View);
imageView.setImageResource(imageAdapter.mThumbIds[position]);
}
}


fullimage.xml



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://ift.tt/nIICcg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/image_View"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.05"/>

</LinearLayout>


grid.xml



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://ift.tt/nIICcg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<GridView
android:id="@+id/grid_View"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="auto_fit"
android:columnWidth="90dp"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
android:gravity="center_horizontal"
android:stretchMode="columnWidth" >
</GridView>

</LinearLayout>

No comments:

Post a Comment