单击放大Imageview

时间:2014-03-14 15:53:33

标签: android eclipse android-imageview android-image

Hello Stackoverflow friendo。我只是想知道是否有人可以帮助我。

我创建了一个包含大量图片的应用程序,图片目前非常小,但我希望它们在点击后展开。有没有办法做到这一点? 我的应用程序大约持有50 xml,并且在类中相同。但它拥有大约100张图片,有没有简单的方法可以做到这一点?

我的XML的一个例子

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="#808080"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="499dp"
        android:orientation="vertical" >

 <ImageView
     android:id="@+id/Logo"
     android:layout_width="120dp"
     android:layout_height="wrap_content"
     android:layout_marginLeft="255dp"
     android:layout_marginTop="3dp"
     android:src="@drawable/logov2" />


            <TextView
                android:id="@+id/title"
                android:layout_width="210dp"
                android:layout_height="84dp"
                android:layout_marginLeft="40dp"
                android:layout_marginTop="-90dp"
                android:gravity="center"
                android:text="@string/seatedcablerows"
                android:textColor="#FFFFFF"
                android:textSize="32sp" />

            <ImageView
                android:id="@+id/blackline"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:src="@drawable/blackline" />

               <TextView
                   android:id="@+id/textView1"
                   android:layout_width="95dp"
                   android:layout_height="wrap_content"
                   android:layout_marginTop="3dp"
                   android:layout_marginLeft="15dp"
                   android:text="@string/startphase"
                   android:textAppearance="?android:attr/textAppearanceSmall"
                   android:textColor="#ffffff"
                   android:textSize="16sp" />

                  <TextView
                      android:id="@+id/textView2"
                      android:layout_width="121dp"
                      android:layout_height="wrap_content"
                      android:layout_marginLeft="130dp"
                      android:layout_marginTop="-20dp"
                      android:text="@string/middlephase"
                      android:textAppearance="?android:attr/textAppearanceSmall"
                      android:textColor="#ffffff"
                      android:textSize="16sp" />

      <TextView
                   android:id="@+id/textView3"
                   android:layout_width="95dp"
                   android:layout_height="wrap_content"
                   android:layout_marginTop="-20dp"
                   android:layout_marginLeft="260dp"
                   android:text="@string/endphase"
                   android:textAppearance="?android:attr/textAppearanceSmall"
                   android:textColor="#ffffff"
                   android:textSize="16sp" />
            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="97dp"
                android:layout_height="100dp"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="5dp"
                android:src="@drawable/seatedcablerowstart" />

            <ImageView
                android:id="@+id/imageView2"
                 android:layout_width="97dp"
                android:layout_height="100dp"
                android:layout_marginLeft="130dp"
                android:layout_marginTop="-100dp"
                android:src="@drawable/seatedcablerowmid" />

            <ImageView
                android:id="@+id/imageView3"
                 android:layout_width="97dp"
                android:layout_height="100dp"
                android:layout_marginLeft="245dp"
                android:layout_marginTop="-100dp"
                android:src="@drawable/seatedcablerowend" />

            <ImageView
                android:id="@+id/blackline2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:src="@drawable/blackline" />

            <TextView
                android:id="@+id/seatedcablerowsdesc"
                android:layout_width="match_parent"
                android:layout_height="41dp"
                android:layout_marginTop="3dp"
                android:gravity="center"
                android:text="@string/seatedcablerowsdesc"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textColor="#ffffff"
                android:textSize="16sp" />

                 <TextView
                     android:id="@+id/seatedcablerowsperf"
                     android:layout_width="match_parent"
                     android:layout_height="238dp"
                     android:layout_marginTop="3dp"
                     android:gravity="center"
                     android:text="@string/seatedcablerowsperf"
                     android:textAppearance="?android:attr/textAppearanceSmall"
                     android:textColor="#FFFFFF"
                     android:textSize="14sp" />

                 <TextView
                     android:id="@+id/seatedcablerowscaut"
                     android:layout_width="match_parent"
                     android:layout_height="64dp"
                     android:layout_marginTop="3dp"
                     android:gravity="center"
                     android:text="@string/seatedcablerowscaut"
                     android:textAppearance="?android:attr/textAppearanceSmall"
                     android:textColor="#FFFFFF"
                     android:textSize="14sp" />

                 <ImageView
                      android:id="@+id/blackline3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:src="@drawable/blackline" />

                                                            <!--Set 1 starts here  -->
                 <TextView
                     android:id="@+id/set1"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="@string/set1"
                     android:textColor="#FFFF00"
                     android:textSize="25sp" />

                   <TextView
                     android:id="@+id/weight"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="-30dp"
                     android:layout_marginLeft="100dp"
                     android:text="@string/weight"
                     android:textColor="#FFFF00"
                     android:textSize="16sp" 
                     />

                     <TextView
                         android:id="@+id/repititions"
                         android:layout_width="116dp"
                         android:layout_height="wrap_content"
                         android:layout_marginLeft="240dp"
                         android:layout_marginTop="-20dp"
                         android:text="@string/repetitions"
                         android:textColor="#FFFF00"
                         android:textSize="16sp" />

                 <EditText
                     android:id="@+id/editText1"
                     android:layout_width="67dp"
                     android:layout_height="36dp"
                     android:layout_marginLeft="100dp"
                     android:layout_marginTop="5dp"
                     android:background="#FFFFFF"
                     android:ems="10"
                     android:inputType="number"
                      >

              </EditText>

                 <EditText
                     android:id="@+id/editText2"
                     android:layout_width="67dp"
                     android:layout_height="36dp"
                     android:layout_marginLeft="240dp"
                     android:layout_marginTop="-37dp"
                     android:background="#FFFFFF"
                     android:ems="10"
                     android:inputType="number" >

                </EditText>
                 <ImageView
                     android:id="@+id/imageView4"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:src="@drawable/blackline2" />
                                                                <!--Set 2 starts here  -->
                   <TextView
                     android:id="@+id/set2"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="@string/set2"
                     android:textColor="#FFFF00"
                     android:textSize="25sp" 
                     />
                   <TextView
                     android:id="@+id/weight1"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="-30dp"
                     android:layout_marginLeft="100dp"
                     android:text="@string/weight"
                     android:textColor="#FFFF00"
                     android:textSize="16sp" 
                     />
                      <TextView
                         android:id="@+id/repititions2"
                         android:layout_width="116dp"
                         android:layout_height="wrap_content"
                         android:layout_marginLeft="240dp"
                         android:layout_marginTop="-20dp"
                         android:text="@string/repetitions"
                         android:textColor="#FFFF00"
                         android:textSize="16sp" />
                            <EditText
                     android:id="@+id/editText3"
                     android:layout_width="67dp"
                     android:layout_height="36dp"
                     android:layout_marginLeft="100dp"
                     android:layout_marginTop="5dp"
                     android:background="#FFFFFF"
                     android:ems="10"
                     android:inputType="number" >
                     </EditText>
                        <EditText
                     android:id="@+id/editText4"
                     android:layout_width="67dp"
                     android:layout_height="36dp"
                     android:layout_marginLeft="240dp"
                     android:layout_marginTop="-37dp"
                     android:background="#FFFFFF"
                     android:ems="10"
                     android:inputType="number" >

                </EditText>

                   <ImageView
                       android:id="@+id/imageView5"
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:src="@drawable/blackline2" />
                                                                        <!--Set 3 starts here  -->
                     <TextView
                     android:id="@+id/set3"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="@string/set3"
                     android:textColor="#FFFF00"
                     android:textSize="25sp" 
                     />
                   <TextView
                     android:id="@+id/weight3"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="-30dp"
                     android:layout_marginLeft="100dp"
                     android:text="@string/weight"
                     android:textColor="#FFFF00"
                     android:textSize="16sp" 
                     />
                      <TextView
                         android:id="@+id/repititions3"
                         android:layout_width="116dp"
                         android:layout_height="wrap_content"
                         android:layout_marginLeft="240dp"
                         android:layout_marginTop="-20dp"
                         android:text="@string/repetitions"
                         android:textColor="#FFFF00"
                         android:textSize="16sp" />
                            <EditText
                     android:id="@+id/editText5"
                     android:layout_width="67dp"
                     android:layout_height="36dp"
                     android:layout_marginLeft="100dp"
                     android:layout_marginTop="5dp"
                     android:background="#FFFFFF"
                     android:ems="10"
                     android:inputType="number" >
                     </EditText>
                        <EditText
                     android:id="@+id/editText6"
                     android:layout_width="67dp"
                     android:layout_height="36dp"
                     android:layout_marginLeft="240dp"
                     android:layout_marginTop="-37dp"
                     android:background="#FFFFFF"
                     android:ems="10"
                     android:inputType="number" >
 </EditText>
                     <ImageView
                         android:id="@+id/imageView6"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:src="@drawable/blackline2" />
                                                                     <!--Set 4 starts here  -->

                          <TextView
                     android:id="@+id/set4"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="@string/set4"
                     android:textColor="#FFFF00"
                     android:textSize="25sp" 
                     />
                   <TextView
                     android:id="@+id/weight4"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="-30dp"
                     android:layout_marginLeft="100dp"
                     android:text="@string/weight"
                     android:textColor="#FFFF00"
                     android:textSize="16sp" 
                     />
                      <TextView
                         android:id="@+id/repititions4"
                         android:layout_width="116dp"
                         android:layout_height="wrap_content"
                         android:layout_marginLeft="240dp"
                         android:layout_marginTop="-20dp"
                         android:text="@string/repetitions"
                         android:textColor="#FFFF00"
                         android:textSize="16sp" />
                            <EditText
                     android:id="@+id/editText7"
                     android:layout_width="67dp"
                     android:layout_height="36dp"
                     android:layout_marginLeft="100dp"
                     android:layout_marginTop="5dp"
                     android:background="#FFFFFF"
                     android:ems="10"
                     android:inputType="number" >
                     </EditText>
                        <EditText
                     android:id="@+id/editText8"
                     android:layout_width="67dp"
                     android:layout_height="36dp"
                     android:layout_marginLeft="240dp"
                     android:layout_marginTop="-37dp"
                     android:background="#FFFFFF"
                     android:ems="10"
                     android:inputType="number" >
 </EditText>

                                  <ImageButton
                            android:id="@+id/imageButton1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="240dp"
                            android:layout_marginTop="35dp"
                            android:src="@drawable/savebutton"
                             android:background="@null" />

                        <ImageButton
                            android:id="@+id/QR"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="-10dp"
                            android:layout_marginBottom="-60dp"
                            android:src="@drawable/qrscanner" />

</LinearLayout>
</ScrollView>

Java类:

package com.example.workplease;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;

import com.example.workplease_v2.R;

public class Seatedcablerows extends Activity {
ImageButton imagebutton;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.seatedcablerows);

        AddListenerOnButton();
}

public void AddListenerOnButton(){
    final Context context = this;

    imagebutton = (ImageButton) findViewById(R.id.QR);

    imagebutton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            Intent intent = new Intent(context, Qrscanner.class);
                        startActivity(intent);  
        }
    });
}
}

2 个答案:

答案 0 :(得分:9)

Google很好地解释了How to enlarge view on a touch。您也可以使用相同的技术进行图像查看。 检查给定链接以获取完整的示例代码。

答案 1 :(得分:1)

假设你有一个带有gridview的片段来保存你的图像,只需将onItemClickListener附加到它们上,当有人点击图像时,获取ID并将其传递回活动,该活动将从使用它的位置获取图像id并使用单个ImageView设置一个新片段;这样做。

修改

第二次看完你的问题之后,我想你可能不得不改变你的方式(真的取决于你)

有两个数组分别存储较小的图像和较大的图像版本。

现在,使用片段或仅使用带有gridview的常规视图来显示所有图像,然后实现单击侦听器以跟踪使用position参数单击的图像。

在知道单击了哪个图像后,只需将位置传回活动,然后使用该位置从第二个较大图像阵列加载较大的图像,并将其分别显示在具有预设尺寸/宽度/高度的图像视图中。

我认为这有助于解决您的问题。

注意为了传回所点击图片的位置,如果您使用片段(然后在您的活动中实现它),您只需要片段中的接口,否则,您可以从活动中获取位置并在那里完成下一个任务。