Evento touch screen, mudar de página

5 respostas
D

Seguinte, sou novato nesta área de ANDROID, na verdade meu chefe que me pediu para desenvolver um aplicativo para um cliente.

criei um layout:

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widget52"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<AbsoluteLayout
android:id="@+id/widget49"
android:layout_width="480px"
android:layout_height="100px"
android:layout_x="0px"
android:layout_y="0px"
>
<ImageView
android:id="@+id/widget56"
android:layout_width="480px"
android:layout_height="100px"
android:src="@drawable/t1opo"
android:layout_x="0px"
android:layout_y="0px"
>
</ImageView>
</AbsoluteLayout>
<AbsoluteLayout
android:id="@+id/widget54"
android:layout_width="480px"
android:layout_height="678px"
android:layout_x="0px"
android:layout_y="99px"
>
<ImageView
android:id="@+id/widget57"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/meiios"
android:layout_x="0px"
android:layout_y="0px"
>
</ImageView>
<AbsoluteLayout
android:id="@+id/widget46"
android:layout_width="150px"
android:layout_height="154px"
android:layout_x="57px"
android:layout_y="34px"
>
<ImageButton
android:id="@+id/widget59"
android:layout_width="150px"
android:layout_height="154px"
android:src="@drawable/btn"
android:layout_x="0px"
android:layout_y="0px"
>
</ImageButton>
</AbsoluteLayout>
</AbsoluteLayout>
<AbsoluteLayout
android:id="@+id/widget53"
android:layout_width="480px"
android:layout_height="26px"
android:layout_x="0px"
android:layout_y="774px"
>
<ImageView
android:id="@+id/widget58"
android:layout_width="480px"
android:layout_height="26px"
android:src="@drawable/fund"
android:layout_x="0px"
android:layout_y="0px"
>
</ImageView>
</AbsoluteLayout>
</LinearLayout>

e tenho este código apenas por enquanto:

package com.virtualbox;

import android.app.Activity;
import android.os.Bundle;


public class MainActivity extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
	   super.onCreate(savedInstanceState);
	   setContentView(R.layout.main);
   }
}

oque eu preciso é:

1º Colocar um evento touch screen no ImageButton

2º Esse Image button chamar outra pagina do aplicativo(ainda não criei ela)

por enquanto é só esta a duvida, depois virão mais.

Desde já obrigado. Diego Sousa

5 Respostas

Marky.Vasconcelos

Voce pega sua View através do id dela e adiciona um onTouchListener.

Voce pode ver um pouquinho sobre isso aqui, na parte “Trabalhando com os componentes no código”

D

Tipo, eu já havia tentado algo parecido.

fiz aqui e ficou assim: (obs: troquei a imagem do evento para um imageView pois o ImageButton esta ampliando a imagem, eu também renomeei ela para img_cardapio)

public class MainActivity extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
	   super.onCreate(savedInstanceState);
	   setContentView(R.layout.main);
	   ImageView text = (ImageView) findViewById(R.id.img_cardapio);
	   ImageView.setOnTouchListener(new View.OnTouchListener() {     //esta linha da um erro no "setOnTouchListener" e no "View.OnTouchListener()" na linha toda enfim
		    @Override
		    public void onTouch(View v) { // Erro também: "onTouch(View v)"
		    	//Código à ser executado
		    }
	   });

   }
}

Dei uma mexida aqui e ficou assim agora:

package com.virtualbox;

import android.app.Activity;
import android.os.Bundle;
import android.view.*;
import android.view.View.OnTouchListener;
import android.widget.*;


public class MainActivity extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
	   super.onCreate(savedInstanceState);
	   setContentView(R.layout.main);
	   ImageView cardapio = (ImageView) findViewById(R.id.img_cardapio);
	   cardapio.setOnTouchListener(new OnTouchListener() {
		    @Override
		    public void onTouch(View v, MotionEvent event) { // Agora só deu um erro no Void aqui
		    	//Código a ser executado
		    }
	   });

   }
}
Marky.Vasconcelos

Cheque a API.

onTouch deve retornar boolean.

Use return true se voce “consumiu” o evento, ou false se voce não quer fazer nada, util para quando voce tem uma view em cima da outra e dependendo do caso ela nao precisa fazer nada mas os eventos precisam ser propagados para as outras views.

D

Cara eu já consegui fazer o alert, só vim agradecer mesmo pela ajuda,

só uma ultima coisa: tem como me passar um link onde explique como compilar e instalar meu aplicativo em um android?

amanhã devo continuar e partir para a parte de abrir outra tela do programa quando clicar

vlw mesmo, se puder me adicionar no msn: [email removido]

Abraços

Marky.Vasconcelos

Para enviar para o device ou voce faz como o seguinte http://markytechs.wordpress.com/2011/07/13/android-snippet-usando-um-device-para-desenvolvimento/

Ou entao gera um signed apk, transfere via arquivo e instala pelo device.

Criado 14 de julho de 2011
Ultima resposta 14 de jul. de 2011
Respostas 5
Participantes 2