Ver mensagens sem resposta | Ver tópicos ativos Hoje é 01 Abr 2020, 17:09



Responder Tópico  [ 2 Mensagens ] 
 Layout para Zoom 
Autor Mensagem
Anatomy of an App
Anatomy of an App

Data de registro: 05 Dez 2011, 22:04
Mensagens: 106
Mensagem Layout para Zoom
Prezados,

Estou desenvolvendo um aplicativo, e no fim, ele gera uma tela feita com canvas, queria que o usuário pudesse aumentar ou diminuir o zoom dessa tela final, alguém sabe como fazer?


01 Nov 2012, 01:42
Perfil
Anatomy of an App
Anatomy of an App

Data de registro: 12 Mar 2013, 01:37
Mensagens: 186
Mensagem Re: Layout para Zoom
Cara, oque eu pude entender é que você quer aplicar zoom, certo?
Caso seja, esse é um pequeno exemplo. Talvez vc consiga resolver o seu problema entendo esses códigos.
As imagens que serão visualizadas devem ficar na pasta assets.

main.xml


<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

   
    <Seu.Package.GalleryWidget.GalleryViewPager
        android:id="@+id/viewer"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</LinearLayout>


activity_main.xml


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world" />


</RelativeLayout>


GalleryFileActivity.java


import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
import seu.package.GalleryWidget.FilePagerAdapter;
import seu.package.GalleryWidget.GalleryViewPager;
import seu.package.GalleryWidget.BasePagerAdapter.OnItemChangeListener;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

public class GalleryFileActivity extends Activity {

private GalleryViewPager mViewPager;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

String[] urls = null;
List<String> items = new ArrayList<String>();
        try {
        urls = getAssets().list("");

        for (String filename : urls)
        {
        if (filename.matches(".+\\.jpg"))
        {
        String path = getFilesDir() + "/" + filename;
        copy(getAssets().open(filename), new File(path) );
        items.add(path);
        }
        }
        } catch (IOException e) {
        e.printStackTrace();
        }

        FilePagerAdapter pagerAdapter = new FilePagerAdapter(this, items);
        pagerAdapter.setOnItemChangeListener(new OnItemChangeListener()
        {
        @Override
        public void onItemChange(int currentPosition)
        {
        Toast.makeText(GalleryFileActivity.this, "Item atual é " + currentPosition, Toast.LENGTH_SHORT).show();
        }
        });

        mViewPager = (GalleryViewPager)findViewById(R.id.viewer);
        mViewPager.setOffscreenPageLimit(13);
        mViewPager.setAdapter(pagerAdapter);
        }
        public void copy(InputStream in, File dst) throws IOException {

        OutputStream out = new FileOutputStream(dst);

        // Transfer bytes from in to out
        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0) {
        out.write(buf, 0, len);
        }
        in.close();
        out.close();
        }
        }


Se vc quiser usar o zoom em imagens da web:

GalleryUrlActivity.java


        import android.app.Activity;
        import android.os.Bundle;
        import android.widget.Toast;
        import seu.package.GalleryWidget.BasePagerAdapter.OnItemChangeListener;
        import seu.package.GalleryWidget.GalleryViewPager;
        import seu.package.GalleryWidget.UrlPagerAdapter;

        import java.util.ArrayList;
        import java.util.Collections;
        import java.util.List;

        public class GalleryUrlActivity extends Activity {

        private GalleryViewPager mViewPager;
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        String[] urls = {
        "http://cs407831.userapi.com/v407831207/18f6/jBaVZFDhXRA.jpg",
        "http://cs407831.userapi.com/v4078f31207/18fe/4Tz8av5Hlvo.jpg",
        "http://cs407831.userapi.com/v407831207/1906/oxoP6URjFtA.jpg",
        "http://cs407831.userapi.com/v407831207/190e/2Sz9A774hUc.jpg",
        "http://cs407831.userapi.com/v407831207/1916/Ua52RjnKqjk.jpg",
        "http://cs407831.userapi.com/v407831207/191e/QEQE83Ok0lQ.jpg"
        };
        List<String> items = new ArrayList<String>();
                Collections.addAll(items, urls);

                UrlPagerAdapter pagerAdapter = new UrlPagerAdapter(this, items);
                pagerAdapter.setOnItemChangeListener(new OnItemChangeListener()
                {
                @Override
                public void onItemChange(int currentPosition)
                {
                Toast.makeText(GalleryUrlActivity.this, "Current item is " + currentPosition, Toast.LENGTH_SHORT).show();
                }
                });

                mViewPager = (GalleryViewPager)findViewById(R.id.viewer);
                mViewPager.setOffscreenPageLimit(3);
                mViewPager.setAdapter(pagerAdapter);

                }

                }


MainActivity.java


                import java.util.ArrayList;
                import java.util.HashMap;
                import java.util.List;
                import java.util.Map;

                import android.os.Bundle;
                import android.app.ListActivity;
                import android.content.Intent;
                import android.view.View;
                import android.widget.ListAdapter;
                import android.widget.ListView;
                import android.widget.SimpleAdapter;

                public class MainActivity extends ListActivity {

                public static final String TITLE = "title";
                public static final String SUBTITLE = "subtitle";

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

                setListAdapter(createAdapter());
                }

                protected Map<String, String> createElement(String title, String subtitle)
                    {
                    Map<String, String> result = new HashMap<String, String>();
                            result.put(TITLE, title);
                            result.put(SUBTITLE, subtitle);
                            return result;
                            }
                            public List<Map<String, String>> getData()
                                {
                                List<Map<String, String>> result = new ArrayList<Map<String,String>>();
                                        result.add(createElement("Web load", "Neste exemplo, você fornece uma lista de URLs para exibir na galeria"));
                                        result.add(createElement("Local load", "Neste exemplo, você fornece uma lista de arquivos a serem exibidos na galeria"));
                                        return result;
                                        }
                                        public ListAdapter createAdapter()
                                        {
                                        SimpleAdapter adapter = new SimpleAdapter(this, getData(),
                                        android.R.layout.simple_list_item_2,
                                        new String[]{TITLE, SUBTITLE},
                                        new int[]{android.R.id.text1, android.R.id.text2});
                                        return adapter;
                                        }

                                        @Override
                                        protected void onListItemClick(ListView l, View v, int position, long id) {
                                        Intent i = null;
                                        switch (position)
                                        {
                                        case 0:
                                        i = new Intent(this, GalleryUrlActivity.class);
                                        break;
                                        case 1:
                                        i = new Intent(this, GalleryFileActivity.class);
                                        break;
                                        }
                                        startActivity(i);
                                        }

                                        }


Espero que isso te ajude.


19 Jun 2013, 21:46
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 2 Mensagens ] 

Quem está online

Usuários vendo este fórum: ac0502, AdrianoMM, Alex Marcelo Burnett, alexandre, alexandrepom, Alexandrercarvalho, alfredo_ej, allart, Andreid, andreluzz, andrewort, Androidthebest, arquivo51, augustomig, axellsan, BMaia, brazucx, brian15, cabelo, caciara, Cajux, cassiano, cavenaghi, Celso Jr., cfranca, china, ciro, claudioalfonso, Cleiton, Corneta, cyzko, dallari, dalmeidabr, Danilo Dias, Darth Maul, DAVINCE, dbispo, eduzortea, eliasmachado_rj, fabric01, Felipe Marcondes, felipe.buarque, felipe.cintra, fernando neves, fredjpa, Gabriel, geco, Geire Robson Gadelha, geovanebg, Gooooogle, Gui Pereira, helder84, henrique.cardoso, Heritrix, hopper.frf, igor_meneguzzo, inesfg, jacard, jackdaniel, JairoCN, Jango Fett, Javanês, Jenius, jhonguitar, jonasminas, juliana_costa, juliancesar, kennedyximenes, kleberperea, klebersilvarocha, konos, lfalcao, linukiss, Liviosousa, luciocamilo, marcelochiquinho, Marlus Dias Silva, martins, mirelli, msmdark, nandopierre, nfaria, Nidio Dolfini, nightwatch, nino, nobrejack, onaiggac, pabarbosa, Padawan, Paulo Bizzo, phsantos, piantino, pomarolli, r.wil, rafael.cioban, rafaelmonoh, Rainha Amidala/Padmé, rananfu, regis.ror, Renan, Robson Florentino, rocha, rodrigo_corinthians, Roll, romualdo, ronamore, ronanPlus, rsl_master, sandro, schiroky, Shmi Skywalker, thiagotomais, thienne, tiagofalcao, tiagoxv, tonholis, tonylock, vandob, vieira, wender, yeltsinlima, Yoshihury, Yuri, yuri82, zorieuq e 3 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi