Breaking

Tuesday 16 July 2019

Image Switcher Android Tutorial | Android Example | Image Switcher


Image Switcher Android Tutorial

Android picture switcher gives a movement over pictures to progress starting with one picture then onto the next. So as to utilize picture switcher, we have to execute ImageSwitcher part in .xml record.

The setFactory() technique for ImageSwitcher give usage of ViewFactory interface. ViewFactory interface actualizes its unimplemented technique and returns an ImageView.

Example Of Image Switcher

How about we actualize a picture switcher.

Make activity_main.xml and content_main.xml record in format envelope.

Spot a few pictures in drawable envelope which are to be switch.

Activity_main.xml


<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="com.example.test.imageswitcher.MainActivity"> 
 
    <android.support.design.widget.AppBarLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:theme="@style/AppTheme.AppBarOverlay"> 
 
        <android.support.v7.widget.Toolbar 
            android:id="@+id/toolbar" 
            android:layout_width="match_parent" 
            android:layout_height="?attr/actionBarSize" 
            android:background="?attr/colorPrimary" 
            app:popupTheme="@style/AppTheme.PopupOverlay" /> 
 
    </android.support.design.widget.AppBarLayout> 
    <include layout="@layout/content_main" /> 
 
</android.support.design.widget.CoordinatorLayout>


Content_main.xml


<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    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" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.example.test.imageswitcher.MainActivity" 
    tools:showIn="@layout/activity_main"> 
 
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Image Switcher Example" 
 
        android:id="@+id/textView" 
        android:layout_alignParentTop="true" 
        android:layout_centerHorizontal="true" /> 
 
    <ImageSwitcher 
        android:id="@+id/imageSwitcher" 
        android:layout_width="match_parent" 
        android:layout_height="250dp" 
        android:layout_marginBottom="28dp" 
        android:layout_marginTop="40dp" /> 
 
    <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Next" 
        android:id="@+id/button" 
        android:layout_marginBottom="47dp" 
        android:layout_alignParentBottom="true" 
        android:layout_centerHorizontal="true" /> 
</RelativeLayout>


Activity Class

File :- MainActivity.java


package com.example.android.imageswitcher; 
 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.widget.Button; 
import android.widget.ImageSwitcher; 
import android.widget.ImageView; 
import android.widget.ViewSwitcher; 
 
import android.app.ActionBar; 
import android.view.animation.Animation; 
import android.view.animation.AnimationUtils; 
 
 
public class MainActivity extends AppCompatActivity { 
    ImageSwitcher imageSwitcher; 
    Button nextButton; 
 
    int imageSwitcherImages[] =  
      {R.drawable.cpp, R.drawable.c_sarp, R.drawable.jsp, R.drawable.mysql, R.drawable.hadoop}; 
 
    int switcherImageLength = imageSwitcherImages.length; 
    int counter = -1; 
 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
        setSupportActionBar(toolbar); 
 
        imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher); 
        nextButton = (Button) findViewById(R.id.button); 
 
        imageSwitcher.setFactory(new ViewSwitcher.ViewFactory() { 
            @Override 
            public View makeView() { 
                ImageView switcherImageView = new ImageView(getApplicationContext()); 
                switcherImageView.setLayoutParams(new ImageSwitcher.LayoutParams( 
                        ActionBar.LayoutParams.FILL_PARENT, ActionBar.LayoutParams.FILL_PARENT 
                )); 
                switcherImageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 
                switcherImageView.setImageResource(R.drawable.hadoop); 
                //switcherImageView.setMaxHeight(100); 
                return switcherImageView; 
            } 
        }); 
 
        Animation aniOut = AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right); 
        Animation aniIn = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left); 
 
       imageSwitcher.setOutAnimation(aniOut); 
       imageSwitcher.setInAnimation(aniIn); 
 
        nextButton.setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                counter++; 
                if (counter == switcherImageLength){ 
                    counter = 0; 
                    imageSwitcher.setImageResource(imageSwitcherImages[counter]); 
                } 
                else{ 
                    imageSwitcher.setImageResource(imageSwitcherImages[counter]); 
                } 
            } 
        }); 
    } 
 
}


OutPut :-


No comments:

Post a Comment