Autore Topic: Aprire un'immagine  (Letto 1405 volte)

Offline Pezz8

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc tattoo
  • Sistema operativo:
    Windows 7/Ubuntu
Aprire un'immagine
« il: 13 Ottobre 2010, 12:58:39 CEST »
0
Salve a tutti, sto cercando di creare un'applicazione di base. Vorrei fare qualcosa di molto semplice, in poche parole clickando su di un bottone vorrei aprire un'immagine. Ho cercato nei vari topic/tutorial ma non sono riuscito a trovare niente.
Il problema principale è che nella doc messa a disposizione da google non riesco a capirci granché (rispetto alla java doc). Potete illuminarmi?in caso posto il codice ma credo che sia inutile e che la cosa si risolvi in modo abbastanza rapido (credo che esista una classe adibita a ciò ma non sono stato in grado di trovarla). Grazie in anticipo ;-)

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Aprire un'immagine
« Risposta #1 il: 13 Ottobre 2010, 13:10:05 CEST »
0
Ciao, potresti definire meglio "aprire un'immagine"? Aprire con cosa? L'immagine dov'è?
In ogni caso, se sei in dubbio, posta sempre il codice ;)
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Pezz8

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc tattoo
  • Sistema operativo:
    Windows 7/Ubuntu
Re:Aprire un'immagine
« Risposta #2 il: 13 Ottobre 2010, 13:12:42 CEST »
0
Ciao, potresti definire meglio "aprire un'immagine"? Aprire con cosa? L'immagine dov'è?
In ogni caso, se sei in dubbio, posta sempre il codice ;)
Ti chiedo scusa per non aver esplicitato in modo adeguato il problema. In poche parole vorrei aprire un'immagine come se fosse una foto ma questa vorrei inserirla all'interno dell'applicazione (non so dove metterla)in formato "poco definito" e ,nel caso in cui l'utente la vorrebbe visualizzare in alta definizione, vorrei farla scaricare da un sito web.

vincenzodicicco

  • Visitatore
Re:Aprire un'immagine
« Risposta #3 il: 13 Ottobre 2010, 14:18:39 CEST »
0
Puoi inserire l'immagine all'interno della cartella drawable, e poi usare un'imageview con i metodi setImageDrawable ecc, trovi molti tutorial se non ci riesci, ti posto un po di codice  :-)
http://developer.android.com/reference/android/widget/ImageView.html

Offline Pezz8

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc tattoo
  • Sistema operativo:
    Windows 7/Ubuntu
Re:Aprire un'immagine
« Risposta #4 il: 13 Ottobre 2010, 14:25:09 CEST »
0
Puoi inserire l'immagine all'interno della cartella drawable, e poi usare un'imageview con i metodi setImageDrawable ecc, trovi molti tutorial se non ci riesci, ti posto un po di codice  :-)
http://developer.android.com/reference/android/widget/ImageView.html
ho capito più o meno come fare, però non riesco a capire dove inserire il path dell'immagine da inserire. Se inserisci il codice mi faresti un piacerone ^_^

vincenzodicicco

  • Visitatore
Re:Aprire un'immagine
« Risposta #5 il: 13 Ottobre 2010, 14:31:24 CEST »
+1
Dopo che hai inserito un imageview nel tuo layout e l'hai inizializzata, basta fare cosi:
Codice (Java): [Seleziona]
miaimageview.setImageResource(R.drawable.miaimmagine);l'immagine "miaimmagine" la inserisci nella cartella drawable-hdpi del tuo progetto.
Non c'è bisogno di specificare l'estensione quando la inserisci nell'imageview. :-)


Offline Pezz8

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc tattoo
  • Sistema operativo:
    Windows 7/Ubuntu
Re:Aprire un'immagine
« Risposta #6 il: 13 Ottobre 2010, 15:09:03 CEST »
0
Dopo che hai inserito un imageview nel tuo layout e l'hai inizializzata, basta fare cosi:
Codice (Java): [Seleziona]
miaimageview.setImageResource(R.drawable.miaimmagine);l'immagine "miaimmagine" la inserisci nella cartella drawable-hdpi del tuo progetto.
Non c'è bisogno di specificare l'estensione quando la inserisci nell'imageview. :-)
scusami ma "miaimageview" come lo creo?io ho fatto così:
Codice (Java): [Seleziona]
public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);

                // Apre un'altra finestra di testo
                intent = new Intent(this.getApplicationContext(), Activity1.class);
                Button btn = (Button) this.findViewById(R.id.btn);

                btn.setOnClickListener(new OnClickListener() {
                        public void onClick(View v) {
                                startActivity(intent);
                        }
                });
               
                // apre l'immagine
                Button btn_mappa = (Button) this.findViewById(R.id.mappa);
                btn_mappa.setOnClickListener(new OnClickListener(){
                       
                        public void onClick(View v){
                                ImageView iv=new ImageView(getApplicationContext());
                                iv.setImageResource(R.drawable.mapparotary_low);
                                }
                });
        }
}

nell'xml ho questo:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   
   android:background="@drawable/background"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >
   
<Button
        android:id="@+id/btn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Cliccami per andare alla seconda pagina"
        />
       
<Button
        android:id="@+id/mappa"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Immagine"
        />
       
<ImageView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
/>
       
</LinearLayout>

vincenzodicicco

  • Visitatore
Re:Aprire un'immagine
« Risposta #7 il: 13 Ottobre 2010, 15:14:08 CEST »
+1
Devi fare la stessa cosa che fai con il button, mi spiego. Al button hai dato un id, e dopo lo hai inizializzato tramite il findViewById, giusto? ecco, dai un id all'imageview, lo inizializzi per esempio:
Codice (Java): [Seleziona]
 ImageView miaimageview = (ImageView) this.findViewById(R.id.miaimageview);e dopo imposti l'immagine con il codice che ti ho scritto nel post precedente. :D :D

Offline Pezz8

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc tattoo
  • Sistema operativo:
    Windows 7/Ubuntu
Re:Aprire un'immagine
« Risposta #8 il: 13 Ottobre 2010, 15:23:24 CEST »
0
OK ce l'ho fatta  8-) però adesso vorrei poter zoomare l'immagine, come posso fare?
« Ultima modifica: 13 Ottobre 2010, 15:43:31 CEST da Pezz8 »

vincenzodicicco

  • Visitatore
Re:Aprire un'immagine
« Risposta #9 il: 13 Ottobre 2010, 16:30:44 CEST »
0
Non ho mai approfondito l'argomento, ad ogni modo potresti lavorare creando una variabile Bitmap che contenga l'immagine da zoomare, e da li agire sulle dimensioni, aumentandole o diminuendole magari alla pressione di un bottone, e crearti il tuo zoom.Di più non so aiutarti, prova a fare una googlata troverai qualcosa di più semplice  :D :D

Ciao, Vincenzo.

Offline Pezz8

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc tattoo
  • Sistema operativo:
    Windows 7/Ubuntu
Re:Aprire un'immagine
« Risposta #10 il: 27 Ottobre 2010, 11:51:03 CEST »
0
Rieccomi qui a rompervi :D nel mio progetto sono andato avanti trascurando quanto detto nelle risposte precedenti. Adesso sono tornato al suddetto problema. Ho spulciato un po' il sito e le varie fonti sul web, e sono giunto alla soluzione di utilizzare una webview per aprire l'immagine in modo tale da utilizzare lo zoom del browser, l'unico problema è che non riesco ad aprire l'immagine presente nell' .apk. Vi posto il codice in attesa di una risposta :D
Codice (Java): [Seleziona]
public class MyClass extends Activity {
        /** Called when the activity is first created. */
        WebView full;
        private static final FrameLayout.LayoutParams ZOOM_PARAMS = new FrameLayout.LayoutParams(
                        ViewGroup.LayoutParams.FILL_PARENT,
                        ViewGroup.LayoutParams.WRAP_CONTENT,
                        Gravity.BOTTOM
                        );

        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.mappa);
                full = (WebView)findViewById(R.id.mappa2);
               
                // Set up the Zoom controls
                FrameLayout mContentView = (FrameLayout) getWindow().
                getDecorView().findViewById(android.R.id.content);
                final View zoom = full.getZoomControls();
                mContentView.addView(zoom, ZOOM_PARAMS);
                zoom.setVisibility(View.VISIBLE);
               
                full.getSettings().setJavaScriptEnabled(true);
                full.getSettings().setAllowFileAccess(true);
                full.getSettings().setLoadsImagesAutomatically(true);
           
                full.loadData("<IMG SRC=\"file:///android_assets/myimg.jpeg\" /></body></html>", "text/html", "utf-8");
                       
                }
}

La pagina esce bianca con i pulsanti di zoom. Non so più che fare! Grazie in anticipo.

EDIT: RISOLTO!!! il problema era che il path era sbagliato, il path giusto è file:///android_asset/myimg.jpeg
« Ultima modifica: 27 Ottobre 2010, 12:19:53 CEST da Pezz8 »