Skip to main content

Image change with Spinner




Q5.Create spinner with strings taken from resource folder (res >> value folder) and on changing the spinner value, Image will change.


Android Program:


Steps:


è      =>    Insert 5 image in any format like png or jpg
             In  res -> drawble folder
             Suppose  5 image name-> pic1.png , pic2.png, pic3.png , pic4.png & pic5.png
è         =>      Now goto res -> value folder
          And Edited Strings.xml 

 String.xml




<resources>
    <string name="app_name">prog5</string>
    <string-array name="object_text">
        <item>image 1</item>
        <item><font color="red">image 2</font></item>
        <item>image 3</item>
        <item>image 4</item>
        <item>image 5</item>
    </string-array>

    <integer-array name="object_img">
        <item>@drawable/pic1</item>
        <item>@drawable/pic2</item>
        <item>@drawable/pic3</item>
        <item>@drawable/pic4</item>
        <item>@drawable/pic6</item>
    </integer-array>

    <string name="spin_prompt">Pick one Image</string>
</resources>


Activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="fill_parent"
    android:layout_height="fill_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:orientation="vertical"
    tools:context="com.kishanhaldar.prog5.MainActivity">

    <TextView
        android:text="Select one for Image View : "
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        />

   <Spinner
       android:id="@+id/spin"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_marginBottom="20dp"
       android:background="#000">
   </Spinner>


    <ImageView
        android:id="@+id/imgview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
</LinearLayout>
 

 MainActiviy.java



package com.kishanhaldar.prog5;

import android.content.res.TypedArray;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity{

    private String[] listOfObjects;

    private TypedArray images;

    private ImageView itemImage;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        listOfObjects = getResources().getStringArray(R.array.object_text);

        images = getResources().obtainTypedArray(R.array.object_img);

        itemImage = (ImageView)findViewById(R.id.imgview);

        final Spinner spinner = (Spinner)findViewById(R.id.spin);
        spinner.setBackgroundColor(Color.RED);

        ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_spinner_item, listOfObjects);

        spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        spinner.setAdapter(spinnerAdapter);

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

            @Override

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

   itemImage.setImageResource(images.getResourceId(spinner.getSelectedItemPosition(), -1));
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
      }
        });
    }
}

Comments

Popular posts from this blog

Maximum possible number of monsters you can defeat?

 Q).Maximum possible number of monsters you can defeat?  =>Introduction: While playing an RPG game, you were assigned to complete one of the hardest quests in this game. There are n monsters you'll need to defeat in this quest. Each monster i is described with two integer numbers - poweri and bonusi. To defeat this monster, you'll need at least poweri experience points. If you try fighting this monster without having enough experience points, you lose immediately. You will also gain bonusi experience points if you defeat this monster. You can defeat monsters in any order. The quest turned out to be very hard - you try to defeat the monsters but keep losing repeatedly. Your friend told you that this quest is impossible to complete. Knowing that, you're interested, what is the maximum possible number of monsters you can defeat? (Question difficulty level: Hardest) => Input: The first line contains an integer, n, denoting the number of monsters. The next line contains an

Android Activity Lifecycle Phases

Q2. Create an application to display various android activity lifecycle phases. Android Program :    MainActivity.java package com.kishanhaldar.implicit_intent; package com.example.hp.myhello; import android.content.res.Configuration; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; public class MainActivity extends AppCompatActivity {       String msg = "Android :";     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         Log.d(msg, "On created Method()");     }     protected void onStart() {         super.onStart();         Log.d(msg, "On start method() ");     }     protected void onResume(){         super.onResume();         Log.d(msg,"On the Resume method()");     }     protected void on