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

Sum of Digit is Pallindrome or not

  Sum of Digit is Pallindrome or not Given a number N.Find if the digit sum(or sum of digits) of N is a Palindrome number or not. Note:A Palindrome number is a number which stays the same when reversed.Example- 121,131,7 etc. Example 1: Input: N=56 Output: 1 Explanation: The digit sum of 56 is 5+6=11. Since, 11 is a palindrome number.Thus, answer is 1. Example 2: Input: N=98 Output: 0 Explanation: The digit sum of 98 is 9+8=17. Since 17 is not a palindrome,thus, answer is 0. Your Task: You don't need to read input or print aything.Your Task is to complete the function isDigitSumPalindrome() which takes a number N as input parameter and returns 1 if the Digit sum of N is a palindrome.Otherwise it returns 0. Expected Time Complexi...

Menu with 5 option & selected option should appear in text box

Q6. Create a menu with 5 options and selected option should appear in text box. Android Program : Activity_main.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:id="@+id/activity_main"     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"     tools:context="com.kishanhaldar.program6.MainActivity">                 ...

Closest Number

Closest Number Basic Accuracy: 11.21% Submissions: 1615 Points: 1 Given non-zero two integers N and M . The problem is to find the number closest to N and divisible by M . If there are more than one such number, then output the one having maximum absolute value .   Example 1: Input: N = 13 , M = 4 Output: 12 Explanation: 12 is the Closest Number to 13 which is divisible by 4. Example 2: Input: N = -15 , M = 6 Output: -18 Explanation: -12 and -18 are both similarly close to -15 and divisible by 6. but -18 has the maximum absolute value. So, Output is -18   Your Task: You don't need to read input or print anyth...