图片点击事件放大图片图片、事件

2023-09-12 10:29:14 作者:感情废物

我要放大图片点击事件的图像。 我怎样才能做到这一点。 这是我的完整的code

的main.xml

 < XML版本=1.0编码=UTF-8&GT?;
< LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:方向=垂直
     机器人:layout_height =FILL_PARENT机器人:layout_width =FILL_PARENT>

    <的LinearLayout机器人:方向=横向
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT>

        <按钮的android:文本=Button1的机器人:ID =@ + ID / button1的机器人:layout_height =WRAP_CONTENT机器人:layout_width =WRAP_CONTENT>< /按钮>
        <按钮的android:文本=Button2的机器人:ID =@ + ID /按钮2机器人:layout_height =WRAP_CONTENT机器人:layout_width =WRAP_CONTENT>< /按钮>
        <按钮的android:文本=按钮3机器人:ID =@ + ID /按钮3机器人:layout_height =WRAP_CONTENT机器人:layout_width =WRAP_CONTENT>< /按钮>

    < / LinearLayout中>

    <的LinearLayout机器人:方向=横向
                  机器人:layout_height =290dp
                  机器人:layout_width =WRAP_CONTENT
                  机器人:layout_gravity =center_horizo​​ntal>

             < ImageView的机器人:ID =@ + ID / contentImage
                        机器人:layout_height =250dp
                        机器人:layout_width =200dp
                        />


    < / LinearLayout中>

    <的LinearLayout机器人:方向=横向
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT>

        < ImageView的机器人:ID =@ + ID / imageView1机器人:SRC =@可绘制/ IMG1机器人:layout_height =75dp机器人:layout_width =75dp>< / ImageView的>
        < ImageView的机器人:ID =@ + ID / imageView2机器人:SRC =@可绘制/ IMG2机器人:layout_height =75dp机器人:layout_width =75dp>< / ImageView的>
        < ImageView的机器人:ID =@ + ID / imageView3机器人:SRC =@可绘制/ IMG3机器人:layout_height =75dp机器人:layout_width =75dp>< / ImageView的>

    < / LinearLayout中>

< / LinearLayout中>
 

听到的是我的主要文件 Image.java其中事件会被处理

 包com.example;


进口android.app.Activity;

进口android.graphics.Matrix;
进口android.graphics.PointF;
进口android.os.Bundle;
进口android.view.GestureDetector;
进口android.view.View;
进口android.view.View.OnClickListener;
进口android.widget.Button;
进口android.widget.ImageView;
进口android.widget.Toast;

公共类图像扩展活动
{
    公共ImageView的IMG1,IMG2,IMG3;
    ImageView的contentImage;
    布尔click1 = TRUE;
    布尔click2 = TRUE;
    布尔click3 = TRUE;
    布尔imageTouch = FALSE;



    公共无效的onCreate(包savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);
        按钮BTN1 =(按钮)findViewById(R.id.button1);
        按钮BTN2 =(按钮)findViewById(R.id.button2);
        按钮btn3 =(按钮)findViewById(R.id.button3);

        IMG1 =(ImageView的)findViewById(R.id.imageView1);
        IMG2 =(ImageView的)findViewById(R.id.imageView2);
        IMG3 =(ImageView的)findViewById(R.id.imageView3);
        contentImage =(ImageView的)findViewById(R.id.contentImage);

        img1.setAlpha(100);
        img2.setAlpha(100);
        img3.setAlpha(100);


        btn1.setOnClickListener(新View.OnClickListener()
        {

            @覆盖
            公共无效的onClick(查看arg0中)
            {
                    如果(click1)
                {
                    img1.setAlpha(255);
                    img2.setAlpha(100);
                    img3.setAlpha(100);
                    click1 = FALSE;
                }
                其他
                {
                    img1.setAlpha(255);
                    img2.setAlpha(100);
                    img3.setAlpha(100);
                    click1 = TRUE;
                }

                contentImage.setImageDrawable(空);

            }

        });
        btn2.setOnClickListener(新View.OnClickListener(){

            @覆盖
            公共无效的onClick(查看arg0中)
            {

                如果(click2)
                {
                    img1.setAlpha(100);
                    img2.setAlpha(255);
                    img3.setAlpha(100);
                    click2 = FALSE;
                }
                其他
                {
                    img1.setAlpha(80);
                    img2.setAlpha(255);
                    img3.setAlpha(80);
                    click2 = TRUE;
                }
            contentImage.setImageDrawable(空);

            }

        });


        btn3.setOnClickListener(新View.OnClickListener(){

            @覆盖
            公共无效的onClick(查看arg0中)
            {

                如果(click3)
                {
                    img1.setAlpha(100);
                    img2.setAlpha(100);
                    img3.setAlpha(255);
                    click3 = FALSE;
                }
                其他
                {
                    img1.setAlpha(100);
                    img2.setAlpha(100);
                    img3.setAlpha(255);
                    click3 = TRUE;
                }
                contentImage.setImageDrawable(空);

            }

        });

      img1.setOnClickListener(新OnClickListener()
      {

        @覆盖
        公共无效的onClick(视图v)
        {

            如果(click1)
            {
                img1.setAlpha(255);
                img2.setAlpha(100);
                img3.setAlpha(100);
                click1 = FALSE;
            }
            其他
            {
                img1.setAlpha(255);
                img2.setAlpha(100);
                img3.setAlpha(100);
                click2 = TRUE;
            }


            contentImage.setImageResource(R.drawable.img1);

        }
    });

      img2.setOnClickListener(新OnClickListener()
      {

        @覆盖
        公共无效的onClick(视图v)
        {
            如果(click2)
            {
                img1.setAlpha(100);
                img2.setAlpha(255);
                img3.setAlpha(100);
                click2 = FALSE;
            }
            其他
            {
                img1.setAlpha(80);
                img2.setAlpha(255);
                img3.setAlpha(80);
                click2 = TRUE;
            }
            contentImage.setImageResource(R.drawable.img2);

        }
    });
      img3.setOnClickListener(新OnClickListener()
      {

        @覆盖
        公共无效的onClick(视图v)
        {
            如果(click3)
            {
                img1.setAlpha(100);
                img2.setAlpha(100);
                img3.setAlpha(255);
                click3 = FALSE;
            }
            其他
            {
                img1.setAlpha(100);
                img2.setAlpha(100);
                img3.setAlpha(255);
                click3 = TRUE;
            }
            contentImage.setImageResource(R.drawable.img3);

        }
    });

      contentImage.setOnClickListener(新OnClickListener()
      {

        公共无效的onClick(视图v)
        {
            尝试
            {
            Toast.makeText(Image.this,你好,Toast.LENGTH_SHORT);
            contentImage.setMinimumHeight(400);
            contentImage.setMinimumWidth(700);

            imageTouch = TRUE;
            }
            赶上(例外五)
            {
                的System.out.println(异常提高.......................);
            }
        }
    });

    } // onCreate方法了.....


}
 

解决方案

你有没有试着用一个画廊和一个形象的看法?

 < RelativeLayout的>
    < ImageView的机器人:ID =@ + ID / BigView机器人:layout_width =XXdip机器人:layout_height =XXdip机器人:scaleType =fitCenter/>
    <画廊机器人:ID =@ + ID / MyGallery机器人:unselectedAlpha =0.5的Andr​​oid版本:layout_below =@ ID / BigView机器人:layout_height =XXdip/>
< / RelativeLayout的>
 
新桥新路沿线即将施工,绕行方案公布

您必须指定一个高度,以您的画廊。而你添加一个OnItemSelectedListener。

 最终诠释[] P = {R.drawable.img1,R.drawable.img2,R.drawable.img3,...};
最后ImageView的I =(ImageView的)findViewById(R.id.BigView);
画廊G =(图库论坛)findViewById(R.id.MyGallery);
g.setAdapter(...);
g.setOnItemSelectedListener(新OnItemSelectedListener(){
    公共无效onItemSelected(适配器视图<>母公司视图中查看,INT位置,长的id){
        i.setImageResource(P [位置]);
        //也许你可以试试
        // i.setImageDrawable(((ImageView的)视图).getDrawable());
    }
});
 

随着scaleType fitCenter你的形象将是适合ImageView的大小kepping宽高比。 因此,直接设置大尺寸的。

否则,您可以在FILL_PARENT两个版面大小在RelativeLayout的添加ImageView的,并设置能见度走了,补充一下:

  i.setOnClickListener(新OnClickLisyener(){
    MyHiddenImageView.setImageResource(对[g.getSelectedItemPosition()]);
    MyHiddenImageView.setVisibility(View.VISIBLE);
});
 

I Want to Zoom image on image Click Event. How can I Do that. Here is my complete code

Main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
     android:layout_height="fill_parent" android:layout_width="fill_parent" >

    <LinearLayout android:orientation="horizontal"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content">

        <Button android:text="Button1" android:id="@+id/button1" android:layout_height="wrap_content" android:layout_width="wrap_content" ></Button>
        <Button android:text="Button2" android:id="@+id/button2" android:layout_height="wrap_content" android:layout_width="wrap_content" ></Button>
        <Button android:text="Button3" android:id="@+id/button3" android:layout_height="wrap_content" android:layout_width="wrap_content" ></Button>

    </LinearLayout>

    <LinearLayout android:orientation="horizontal"
                  android:layout_height="290dp"
                  android:layout_width="wrap_content"
                  android:layout_gravity="center_horizontal">

             <ImageView android:id="@+id/contentImage"
                        android:layout_height="250dp" 
                        android:layout_width="200dp"
                        />


    </LinearLayout>

    <LinearLayout android:orientation="horizontal"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content">

        <ImageView android:id="@+id/imageView1" android:src="@drawable/img1" android:layout_height="75dp" android:layout_width="75dp" ></ImageView>
        <ImageView android:id="@+id/imageView2" android:src="@drawable/img2" android:layout_height="75dp" android:layout_width="75dp" ></ImageView>
        <ImageView android:id="@+id/imageView3" android:src="@drawable/img3" android:layout_height="75dp" android:layout_width="75dp" ></ImageView>

    </LinearLayout>

</LinearLayout>

Hear is my main File Image.java in which on Event will be handled

package com.example;


import android.app.Activity;

import android.graphics.Matrix;
import android.graphics.PointF;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

public class Image extends Activity 
{
    public ImageView img1,img2,img3;
    ImageView contentImage;
    boolean click1=true;
    boolean click2=true;
    boolean click3=true;
    boolean imageTouch=false;



    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btn1=(Button)findViewById(R.id.button1);
        Button btn2=(Button)findViewById(R.id.button2);
        Button btn3=(Button)findViewById(R.id.button3);

        img1=(ImageView)findViewById(R.id.imageView1);
        img2=(ImageView)findViewById(R.id.imageView2);
        img3=(ImageView)findViewById(R.id.imageView3);
        contentImage=(ImageView)findViewById(R.id.contentImage);

        img1.setAlpha(100);
        img2.setAlpha(100);
        img3.setAlpha(100);


        btn1.setOnClickListener(new View.OnClickListener()
        {

            @Override
            public void onClick(View arg0) 
            {
                    if (click1) 
                {
                    img1.setAlpha(255);
                    img2.setAlpha(100);
                    img3.setAlpha(100);
                    click1=false;
                } 
                else 
                {
                    img1.setAlpha(255);
                    img2.setAlpha(100);
                    img3.setAlpha(100);
                    click1=true;
                }

                contentImage.setImageDrawable(null);

            }

        });
        btn2.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View arg0) 
            {

                if (click2) 
                {
                    img1.setAlpha(100);
                    img2.setAlpha(255);
                    img3.setAlpha(100);
                    click2=false;
                } 
                else 
                {
                    img1.setAlpha(80);
                    img2.setAlpha(255);
                    img3.setAlpha(80);
                    click2=true;
                }
            contentImage.setImageDrawable(null);

            }

        }); 


        btn3.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View arg0) 
            {

                if (click3) 
                {
                    img1.setAlpha(100);
                    img2.setAlpha(100);
                    img3.setAlpha(255);
                    click3=false;
                } 
                else 
                {
                    img1.setAlpha(100);
                    img2.setAlpha(100);
                    img3.setAlpha(255);
                    click3=true;
                }
                contentImage.setImageDrawable(null);

            }

        });

      img1.setOnClickListener(new OnClickListener()
      {

        @Override
        public void onClick(View v)
        {

            if (click1) 
            {
                img1.setAlpha(255);
                img2.setAlpha(100);
                img3.setAlpha(100);
                click1=false;
            } 
            else 
            {
                img1.setAlpha(255);
                img2.setAlpha(100);
                img3.setAlpha(100);
                click2=true;
            }


            contentImage.setImageResource(R.drawable.img1);

        }
    });

      img2.setOnClickListener(new OnClickListener()
      {

        @Override
        public void onClick(View v)
        {
            if (click2) 
            {
                img1.setAlpha(100);
                img2.setAlpha(255);
                img3.setAlpha(100);
                click2=false;
            } 
            else 
            {
                img1.setAlpha(80);
                img2.setAlpha(255);
                img3.setAlpha(80);
                click2=true;
            }
            contentImage.setImageResource(R.drawable.img2);

        }
    });  
      img3.setOnClickListener(new OnClickListener() 
      {

        @Override
        public void onClick(View v)
        {
            if (click3) 
            {
                img1.setAlpha(100);
                img2.setAlpha(100);
                img3.setAlpha(255);
                click3=false;
            } 
            else 
            {
                img1.setAlpha(100);
                img2.setAlpha(100);
                img3.setAlpha(255);
                click3=true;
            }
            contentImage.setImageResource(R.drawable.img3);

        }
    });      

      contentImage.setOnClickListener(new OnClickListener() 
      {

        public void onClick(View v) 
        {
            try
            {
            Toast.makeText(Image.this,"hello",Toast.LENGTH_SHORT);
            contentImage.setMinimumHeight(400); 
            contentImage.setMinimumWidth(700);

            imageTouch=true;
            }
            catch(Exception e)
            {
                System.out.println("Exception Raise.......................");
            }
        }
    });

    }//onCreate Method over..... 


}

解决方案

Did you try with a gallery and a image view ?

<RelativeLayout>
    <ImageView android:id="@+id/BigView" android:layout_width="XXdip" android:layout_height="XXdip" android:scaleType="fitCenter" />
    <Gallery android:id="@+id/MyGallery" android:unselectedAlpha="0.5" android:layout_below="@id/BigView" android:layout_height="XXdip" />
</RelativeLayout>

You have to specify a height to your gallery. And you add a OnItemSelectedListener.

final int[] p = {R.drawable.img1, R.drawable.img2, R.drawable.img3, ...};
final ImageView i = (ImageView) findViewById(R.id.BigView);
Gallery g = (Gallery) findViewById(R.id.MyGallery);
g.setAdapter(...);
g.setOnItemSelectedListener(new OnItemSelectedListener() {
    public void onItemSelected (AdapterView<?> parent, View view, int position, long id) {
        i.setImageResource(p[position]);
        // Maybe you can try
        // i.setImageDrawable(((ImageView) view).getDrawable());
    }
});

With the scaleType fitCenter your image will be fit to the ImageView size kepping the aspect ratio. So set directly the big size.

Otherwise you can add an ImageView in the RelativeLayout in fill_parent both layout size and set the visibility to gone, add :

i.setOnClickListener(new OnClickLisyener() {
    MyHiddenImageView.setImageResource(p[g.getSelectedItemPosition()]);
    MyHiddenImageView.setVisibility(View.VISIBLE);
});