Blog purpose for android basic example for android app developer. any query please my contact

Monday 20 February 2023

Android studio gridview example

 Android studio gridview example

In this Tutorial Today learn How to Create gridview with image in android.

In android GridView is a view group that display items in two dimensional scrolling grid (rows and columns), the grid items are not necessarily predetermined but they are automatically inserted to the layout using a ListAdapter. Users can then select any grid item by clicking on it. GridView is default scrollable so we don’t need to use ScrollView or anything else with GridView.

:

1.activity_main.xml:


<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical">

    <!--

    GridView with 3 value for numColumns attribute

    -->

    <GridView

        android:id="@+id/simpleGridView"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:footerDividersEnabled="false"

        android:padding="1dp"

        android:numColumns="3" />

</LinearLayout>


2.ImageView .xml:


<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:padding="1dp"

    android:orientation="vertical">

    <ImageView

        android:id="@+id/icon"

        android:layout_width="match_parent"

        android:layout_height="120dp"

        android:scaleType="fitXY"

        android:layout_gravity="center_horizontal"

        android:src="@drawable/logo1" />

</LinearLayout>




3.MainActivity.java:


import android.content.Intent;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.AdapterView;

import android.widget.GridView;

public class MainActivity extends AppCompatActivity {

    GridView simpleGrid;

    int logos[] = {R.drawable.logo1, R.drawable.logo2, R.drawable.logo3, R.drawable.logo4,

            R.drawable.logo5, R.drawable.logo6, R.drawable.logo7, R.drawable.logo8, R.drawable.logo9,

            R.drawable.logo10, R.drawable.logo11, R.drawable.logo12, R.drawable.logo13};

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        simpleGrid = (GridView) findViewById(R.id.simpleGridView); // init GridView

        // Create an object of CustomAdapter and set Adapter to GirdView

        CustomAdapter customAdapter = new CustomAdapter(getApplicationContext(), logos);

        simpleGrid.setAdapter(customAdapter);

        // implement setOnItemClickListener event on GridView

        simpleGrid.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override

            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                // set an Intent to Another Activity

                Intent intent = new Intent(MainActivity.this, SecondActivity.class);

                intent.putExtra("image", logos[position]); // put image data in Intent

                startActivity(intent); // start Intent

            }

        });

    }

}




4.CustomeAdapter.java


import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

public class CustomAdapter extends BaseAdapter {

    Context context;

    int logos[];

    LayoutInflater inflter;

    public CustomAdapter(Context applicationContext, int[] logos) {

        this.context = applicationContext;

        this.logos = logos;

        inflter = (LayoutInflater.from(applicationContext));

    }

    @Override

    public int getCount() {

        return logos.length;

    }

    @Override

    public Object getItem(int i) {

        return null;

    }

    @Override

    public long getItemId(int i) {

        return 0;

    }

    @Override

    public View getView(int i, View view, ViewGroup viewGroup) {

        view = inflter.inflate(R.layout.activity_gridview, null); // inflate the layout

        ImageView icon = (ImageView) view.findViewById(R.id.icon); // get the reference of ImageView

        icon.setImageResource(logos[i]); // set logo images

        return view;

    }

}



5.activity_second.xml:


<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    android:background="#fff"

    tools:context="com.example.gourav.GridViewExample.SecondActivity">

    <ImageView

        android:id="@+id/selectedImage"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_centerInParent="true"

        android:scaleType="fitXY" />

</RelativeLayout>




6.SecondActivity.java:



import android.content.Intent;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.widget.ImageView;

public class SecondActivity extends AppCompatActivity {

    ImageView selectedImage;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_second);

        selectedImage = (ImageView) findViewById(R.id.selectedImage); // init a ImageView

        Intent intent = getIntent(); // get Intent which we set from Previous Activity

        selectedImage.setImageResource(intent.getIntExtra("image", 0)); // get image from Intent and set it in ImageView

    }

}


No comments:

Post a Comment