Android GridView サンプル

android_grid_view

Activityレイアウト

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <android.support.constraint.ConstraintLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. xmlns:app="http://schemas.android.com/apk/res-auto"
  5. xmlns:tools="http://schemas.android.com/tools"
  6. android:layout_width="match_parent"
  7. android:layout_height="match_parent"
  8. tools:context="info.typea.kaigiutil.MainActivity">
  9.  
  10. <LinearLayout
  11. android:layout_width="match_parent"
  12. android:layout_height="match_parent"
  13. android:orientation="horizontal">
  14. <GridView
  15. android:id="@+id/grid_menu"
  16. android:layout_width="match_parent"
  17. android:layout_height="match_parent"
  18. android:numColumns="auto_fit"
  19. android:gravity="center">
  20.  
  21. </GridView>
  22. </LinearLayout>
  23. </android.support.constraint.ConstraintLayout>

Activity

  1. package info.typea.kaigiutil;
  2.  
  3. import android.support.v7.app.AppCompatActivity;
  4. import android.os.Bundle;
  5. import android.widget.GridView;
  6.  
  7. public class MainActivity extends AppCompatActivity {
  8.  
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13.  
  14.  
  15. GridView gridView = (GridView)findViewById(R.id.grid_menu);
  16.  
  17. gridView.setAdapter(new MenuItemAdapter(this));
  18. }
  19. }

Adapter

  1. package info.typea.kaigiutil;
  2.  
  3. import android.content.Context;
  4. import android.media.Image;
  5. import android.view.LayoutInflater;
  6. import android.view.View;
  7. import android.view.ViewGroup;
  8. import android.widget.BaseAdapter;
  9. import android.widget.GridView;
  10. import android.widget.ImageView;
  11.  
  12. /**
  13. * Created by pppiroto on 2017/09/09.
  14. */
  15. public class MenuItemAdapter extends BaseAdapter{
  16. private Context context;
  17.  
  18. private Integer[] menuItemThumbIds = {
  19. R.mipmap.ic_launcher,
  20. R.mipmap.ic_launcher,
  21. R.mipmap.ic_launcher,
  22. R.mipmap.ic_launcher,
  23. R.mipmap.ic_launcher,
  24. R.mipmap.ic_launcher,
  25. R.mipmap.ic_launcher
  26. };
  27.  
  28. public MenuItemAdapter(Context context) {
  29. this.context = context;
  30. }
  31.  
  32.  
  33. @Override
  34. public int getCount() {
  35. return menuItemThumbIds.length;
  36. }
  37.  
  38. @Override
  39. public Object getItem(int position) {
  40. return null;
  41. }
  42.  
  43. @Override
  44. public long getItemId(int position) {
  45. return 0;
  46. }
  47.  
  48. @Override
  49. public View getView(int position, View convertView, ViewGroup parent) {
  50. ImageView imageView;
  51.  
  52. if (convertView == null) {
  53. imageView = new ImageView(this.context);
  54. imageView.setLayoutParams(new GridView.LayoutParams(85,85));
  55. imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
  56. imageView.setPadding(0,0,0,0);
  57. } else {
  58. imageView = (ImageView) convertView;
  59. }
  60. imageView.setImageResource(menuItemThumbIds[position]);
  61.  
  62. return imageView;
  63. }
  64. }

開発環境や、わかりにくい概念的な部分が体系的に説明されておりわかりやすい良書

ネットで情報を無料で入手できるからこそ、体系的なことを理解していると効率が良いと思う

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です