Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2014
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.64 KB | None | 0 0
  1. import android.os.Bundle;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.view.Menu;
  5. import android.widget.AdapterView;
  6. import android.widget.AdapterView.OnItemClickListener;
  7. import android.widget.GridView;
  8. import android.widget.Toast;
  9. import android.view.View;
  10.  
  11. public class MainActivity extends Activity {
  12.  
  13. @Override
  14. public void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. // Set title for the GridView
  17. setTitle("GridView");
  18. // Get the view from grid_view.xml
  19. setContentView(R.layout.grid_view);
  20.  
  21. // Set the images from ImageAdapter.java to GridView
  22. GridView gridview = (GridView) findViewById(R.id.gridview);
  23. gridview.setAdapter(new ImageAdapter(this));
  24.  
  25. // Listening to GridView item click
  26. gridview.setOnItemClickListener(new OnItemClickListener() {
  27. public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
  28.  
  29. // Launch ImageViewPager.java on selecting GridView Item
  30. Intent i = new Intent(getApplicationContext(), ImageViewPager.class);
  31.  
  32. // Show a simple toast message for the item position
  33. Toast.makeText(MainActivity.this, "" + position, Toast.LENGTH_SHORT).show();
  34.  
  35. // Send the click position to ImageViewPager.java using intent
  36. i.putExtra("id", position);
  37.  
  38. // Start ImageViewPager
  39. startActivity(i);
  40. }
  41. });
  42. }
  43.  
  44. // Not using options menu for this tutorial
  45. @Override
  46. public boolean onCreateOptionsMenu(Menu menu) {
  47. getMenuInflater().inflate(R.menu.activity_main, menu);
  48. return true;
  49. }
  50. }
  51.  
  52. <?xml version="1.0" encoding="utf-8"?>
  53. <GridView xmlns:android="http://schemas.android.com/apk/res/android"
  54. android:id="@+id/gridview"
  55. android:layout_width="fill_parent"
  56. android:layout_height="fill_parent"
  57. android:columnWidth="90dp"
  58. android:numColumns="auto_fit"
  59. android:verticalSpacing="10dp"
  60. android:horizontalSpacing="10dp"
  61. android:stretchMode="columnWidth"
  62. android:gravity="center"
  63. />
  64.  
  65. import android.content.Context;
  66. import android.view.View;
  67. import android.view.ViewGroup;
  68. import android.widget.BaseAdapter;
  69. import android.widget.ImageView;
  70.  
  71. public class ImageAdapter extends BaseAdapter {
  72. private Context mContext;
  73.  
  74. public ImageAdapter(Context c) {
  75. mContext = c;
  76. }
  77.  
  78. public int getCount() {
  79. return mThumbIds.length;
  80. }
  81.  
  82. public Object getItem(int position) {
  83. return mThumbIds[position];
  84. }
  85.  
  86. public long getItemId(int position) {
  87. return 0;
  88. }
  89.  
  90. // Create a new ImageView for each item referenced by the Adapter
  91. public View getView(int position, View convertView, ViewGroup parent) {
  92. ImageView imageView;
  93. if (convertView == null) { // If it's not recycled, initialize some attributes
  94. imageView = new ImageView(mContext);
  95. imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
  96. } else {
  97. imageView = (ImageView) convertView;
  98. }
  99.  
  100. imageView.setImageResource(mThumbIds[position]);
  101. return imageView;
  102. }
  103.  
  104. // References to our images in res > drawable
  105. public Integer[] mThumbIds = {
  106. R.drawable.sample_0, R.drawable.sample_1,
  107. R.drawable.sample_2, R.drawable.sample_3,
  108. R.drawable.sample_4, R.drawable.sample_5,
  109. R.drawable.sample_6, R.drawable.sample_7,
  110. R.drawable.sample_8, R.drawable.sample_9,
  111. R.drawable.sample_10, R.drawable.sample_11,
  112. R.drawable.sample_12, R.drawable.sample_13,
  113. R.drawable.sample_14, R.drawable.sample_15,
  114. R.drawable.sample_16, R.drawable.sample_17,
  115. R.drawable.sample_18
  116. };
  117. }
  118.  
  119. import java.util.ArrayList;
  120. import java.util.List;
  121.  
  122. import android.app.Activity;
  123. import android.content.Intent;
  124. import android.os.Bundle;
  125. import android.support.v4.view.ViewPager;
  126. import android.widget.ImageView;
  127.  
  128. public class ImageViewPager extends Activity {
  129. // Declare Variable
  130. int position;
  131.  
  132. @Override
  133. public void onCreate(Bundle savedInstanceState) {
  134. super.onCreate(savedInstanceState);
  135. // Set title for the ViewPager
  136. setTitle("ViewPager");
  137. // Get the view from view_pager.xml
  138. setContentView(R.layout.view_pager);
  139.  
  140. // Retrieve data from MainActivity on item click event
  141. Intent p = getIntent();
  142. position = p.getExtras().getInt("id");
  143.  
  144. ImageAdapter imageAdapter = new ImageAdapter(this);
  145. List<ImageView> images = new ArrayList<ImageView>();
  146.  
  147. // Retrieve all the images
  148. for (int i = 0; i < imageAdapter.getCount(); i++) {
  149. ImageView imageView = new ImageView(this);
  150. imageView.setImageResource(imageAdapter.mThumbIds[i]);
  151. imageView.setScaleType(ImageView.ScaleType.CENTER);
  152. images.add(imageView);
  153. }
  154.  
  155. // Set the images into ViewPager
  156. ImagePagerAdapter pageradapter = new ImagePagerAdapter(images);
  157. ViewPager viewpager = (ViewPager) findViewById(R.id.pager);
  158. viewpager.setAdapter(pageradapter);
  159. // Show images following the position
  160. viewpager.setCurrentItem(position);
  161. }
  162. }
  163.  
  164. import java.util.List;
  165.  
  166. import android.support.v4.view.PagerAdapter;
  167. import android.view.View;
  168. import android.view.ViewGroup;
  169. import android.widget.ImageView;
  170.  
  171. public class ImagePagerAdapter extends PagerAdapter {
  172.  
  173. private List<ImageView> images;
  174.  
  175. public ImagePagerAdapter(List<ImageView> images) {
  176. this.images = images;
  177. }
  178.  
  179. @Override
  180. public Object instantiateItem(ViewGroup container, int position) {
  181. ImageView imageView = images.get(position);
  182. container.addView(imageView);
  183. return imageView;
  184. }
  185.  
  186. @Override
  187. public void destroyItem(ViewGroup container, int position, Object object) {
  188. container.removeView(images.get(position));
  189. }
  190.  
  191. @Override
  192. public int getCount() {
  193. return images.size();
  194. }
  195.  
  196. @Override
  197. public boolean isViewFromObject(View view, Object o) {
  198. return view == o;
  199. }
  200. }
  201.  
  202. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  203. xmlns:tools="http://schemas.android.com/tools"
  204. android:layout_width="match_parent"
  205. android:layout_height="match_parent" >
  206.  
  207. <android.support.v4.view.ViewPager
  208. android:id="@+id/pager"
  209. android:layout_width="wrap_content"
  210. android:layout_height="wrap_content" >
  211. </android.support.v4.view.ViewPager>
  212.  
  213. </RelativeLayout
  214.  
  215. <resources>
  216.  
  217. <string name="app_name">ViewPager GridView</string>
  218. <string name="hello_world">Hello world!</string>
  219. <string name="menu_settings">Settings</string>
  220. <string name="title_activity_main">ViewPager GridView</string>
  221.  
  222. </resources>
  223.  
  224. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  225. package="com.androidbegin.viewpagergridview"
  226. android:versionCode="1"
  227. android:versionName="1.0" >
  228.  
  229. <uses-sdk
  230. android:minSdkVersion="8"
  231. android:targetSdkVersion="15" />
  232.  
  233. <application
  234. android:icon="@drawable/ic_launcher"
  235. android:label="@string/app_name"
  236. android:theme="@style/AppTheme" >
  237. <activity
  238. android:name=".MainActivity"
  239. android:label="@string/title_activity_main" >
  240. <intent-filter>
  241. <action android:name="android.intent.action.MAIN" />
  242.  
  243. <category android:name="android.intent.category.LAUNCHER" />
  244. </intent-filter>
  245. </activity>
  246. <activity android:name=".ImageViewPager" >
  247. </activity>
  248. </application>
  249.  
  250. </manifest>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement