entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Como hacer que una imagen pueda graduarse de tamaño en android studio

Primero que nada Hola a todos, soy nuevo en este foro y tengo muchas dudas que espero me puedan ayudar a resolver.

Hace una semana empece atrabajar con android studio ya que donde estoy realizando mi practica e pidieron crear una aplicación de android en la cual al seleccionar un tipo bus se pueda ver mediante una imagen su recorrido por la ciudad, e logrado crear la opción y hacer que al seleccionar el bus pueda verse la imagen, le e colocado un zoom controls pero el problema que tengo es que al tratar de agrandar la imagen esta aumenta su tamaño pero el programa deja de responde, lo mismo pasa al disminuirla. La idea era que la imagen pueda ser agrandada y pueda desplazarse para seguir el recorrido del bus por la ciudad y también que pueda achicarse en caso de agrandar demasiado la imagen.

si alguien puede darme alguna idea de que implementar para lograr esto estaría muya agradecido.

Dejo acá el código que llevo para que puedan revisar en que estoy fallando:

`package ejemplo.myapplication;

import android.graphics.Bitmap;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.ZoomControls;

public class MainActivity extends AppCompatActivity {
    private ImageView fondo;
    Spinner lista;
    String[] datos = {"Bus", "A", "B", "C"};
    ImageView imageView;
    ZoomControls zoomControls;

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

        fondo=(ImageView)findViewById(R.id.fondo);

        lista = (Spinner) findViewById(R.id.lista1);

        ArrayAdapter<String> adaptador = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, datos);
        lista.setAdapter(adaptador);

        zoomControls=(ZoomControls)findViewById(R.id.zoomControls);
        zoomControls.setOnZoomInClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {

                float x = fondo.getScaleX();
                float y = fondo.getScaleY();

                fondo.setScaleX(x + 1);
                fondo.setScaleY(y + 1);
            }
        });

        zoomControls.setOnZoomOutClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {

                float x = fondo.getScaleX();
                float y = fondo.getScaleY();

                fondo.setScaleX(x - 1);
                fondo.setScaleY(y - 1);
            }
        });
        lista.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int i, long l) {
                switch (i){
                    case 1:
                        fondo.setImageResource(R.drawable.colegio1);

                        break;
                    case 2:
                        fondo.setImageResource(R.drawable.colegio2);
                        break;
                    case 3:
                        fondo.setImageResource(R.drawable.colegio3);
                        break;

                }
            }

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

            }
        });

    }

}
`

0voto

x4mp73r comentado

Échale un vistazo a esto y deberías de mostrar el(os) error(es) que te arroja.

1 Respuesta

-1voto

1raziel1 Puntos2190

prueba a utilizar un maps de google

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta