У меня есть 4 изображения в действии, и я хочу, чтобы пользователь нажимал на любое из изображений. Изображение должно появляться и отображаться в полноэкранном режиме. Как я могу это достичь?
использует webviews лучший вариант?
код: package com.integrated.mpr;
import java.io.File;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Environment;
import android.widget.ImageView;
import android.widget.TextView;
public class FinalShow extends Activity{
ImageView iva;
ImageView ivb;
ImageView ivc;
ImageView ivd;
File folder = null;
Model model = new Model();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.finalshow);
iva = (ImageView) findViewById(R.id.iva);
ivb = (ImageView) findViewById(R.id.ivb);
ivc = (ImageView) findViewById(R.id.ivc);
ivd = (ImageView) findViewById(R.id.ivd);
String sdcardstate = android.os.Environment.getExternalStorageState();
if(sdcardstate.contentEquals(android.os.Environment.MEDIA_MOUNTED)){
String filepath = Environment.getExternalStorageDirectory().getPath();
folder = new File(filepath,model.s);//model.s contains the name of folder
File fa = new File(folder,"bmp1.png");
Bitmap bmpa = BitmapFactory.decodeFile(fa.getAbsolutePath());
iva.setImageBitmap(bmpa);
File fb = new File(folder,"bmp2.png");
Bitmap bmpb = BitmapFactory.decodeFile(fb.getAbsolutePath());
ivb.setImageBitmap(bmpb);
File fc = new File(folder,"bmp3.png");
Bitmap bmpc = BitmapFactory.decodeFile(fc.getAbsolutePath());
ivc.setImageBitmap(bmpc);
File fd = new File(folder,"bmp4.png");
Bitmap bmpd = BitmapFactory.decodeFile(fd.getAbsolutePath());
ivd.setImageBitmap(bmpd);
}
}
}
создайте одно изображение (дайте полную высоту и ширину родителя), которая невидима в начале. При щелчке любого изображения установите изображение в это новое изображение и сделайте его видимым.
Сначала убедитесь, что недавно добавленное изображение просматривает всю высоту и ширину. Лучше, вы используете относительный макет
<?xml version="1.0" encoding="utf-8"?>
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="14dp"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="16dp"
android:layout_toRightOf="@+id/imageView1"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imageView1"
android:layout_below="@+id/imageView1"
android:layout_marginTop="19dp"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/imageView2"
android:layout_alignTop="@+id/imageView3"
android:src="@drawable/ic_launcher" />
<ImageView android:id="@+id/fullview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/ic_launcher"
android:visibility="gone"/>
в java-коде,
firstImageView.setOnclickListener(new ClickListener());
secondImageView.setOnclickListener(new ClickListener());
thirdImageView.setOnclickListener(new ClickListener());
fourthImageView.setOnclickListener(new ClickListener());
class ClickListener implements OnClickListener {
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()) {
case R.id.firstimage: // set image to fullimageview; break;
case R.id.secondimage:// set this image to fullimage break;
}
}
}
Сделайте что-то одно новое: после этого на картинке щелкните по вызову другой активности между вами, вы можете добавить анимацию для всплытия:
В новой Деятельности покажите свое изображение, как вы сказали: для передачи значения изображения вы также можете использовать Shared Preferences или Intent: Good Luck