|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Mantener los datos al girar la pantalla
Tengo mi pagina de presentacion , inicio o splash como quieran llamarle pero el problema es que al rotar la imagen se reinicia el activity como puede evitar esto?? y que el vidoe continue de dond se quedo???
import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; import android.content.res.Configuration; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.KeyEvent; import android.view.Window; import android.widget.MediaController; import android.widget.ProgressBar; import android.widget.Toast; import android.widget.VideoView; @SuppressLint("HandlerLeak") public class Activity_Splash extends Activity { ProgressBar progressBar; protected boolean isRunning; VideoView myVideoView; String SrcPath = "/storage/sdcard0/Video/Reik-ConlaCaraenAlto_HD.mp4"; @Override public void onCreate(Bundle savedInstanceState){ this.requestWindowFeature(Window.FEATURE_NO_TITLE) ; super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); progressBar = (ProgressBar) findViewById(R.id.progressBar1); VideoView myVideoView = (VideoView)findViewById(R.id.videoView1); myVideoView.setVideoPath(SrcPath); myVideoView.setMediaController(new MediaController(this)); myVideoView.requestFocus(); myVideoView.start(); new Thread(new Runnable() { public void run() { for (int i = 0; i < 20; i++) { try { Thread.sleep(1000); handler.sendMessage(handler.obtainMessage()); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } Intent mainIntent = new Intent().setClass(Activity_Splash.this, Activity_Home.class); startActivity(mainIntent); finish(); } }).start(); } Handler handler=new Handler() { @Override public void handleMessage(Message msg) { progressBar.incrementProgressBy(5); } }; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { // Bloquiar la tecla volver para no cerrar el app Toast.makeText(this, "No puede Retroceder", Toast.LENGTH_SHORT).show(); return false; } return super.onKeyDown(keyCode, event); } } --> Codigo Alguien que me eche una mano.. |
|
|
|
#3
|
||||
|
||||
|
Tengo mi pagina de presentacion , inicio o splash como quieran llamarle pero el problema es que al rotar la imagen se reinicia el activity como puede evitar esto?? y que el vidoe continue de dond se quedo???
import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; import android.content.res.Configuration; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.KeyEvent; import android.view.Window; import android.widget.MediaController; import android.widget.ProgressBar; import android.widget.Toast; import android.widget.VideoView; @SuppressLint("HandlerLeak") public class Activity_Splash extends Activity { ProgressBar progressBar; protected boolean isRunning; VideoView myVideoView; String SrcPath = "/storage/sdcard0/Video/Reik-ConlaCaraenAlto_HD.mp4"; @Override public void onCreate(Bundle savedInstanceState){ this.requestWindowFeature(Window.FEATURE_NO_TITLE) ; super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); progressBar = (ProgressBar) findViewById(R.id.progressBar1); VideoView myVideoView = (VideoView)findViewById(R.id.videoView1); myVideoView.setVideoPath(SrcPath); myVideoView.setMediaController(new MediaController(this)); myVideoView.requestFocus(); myVideoView.start(); new Thread(new Runnable() { public void run() { for (int i = 0; i < 20; i++) { try { Thread.sleep(1000); handler.sendMessage(handler.obtainMessage()); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } Intent mainIntent = new Intent().setClass(Activity_Splash.this, Activity_Home.class); startActivity(mainIntent); finish(); } }).start(); } Handler handler=new Handler() { @Override public void handleMessage(Message msg) { progressBar.incrementProgressBy(5); } }; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { // Bloquiar la tecla volver para no cerrar el app Toast.makeText(this, "No puede Retroceder", Toast.LENGTH_SHORT).show(); return false; } return super.onKeyDown(keyCode, event); } } --> Codigo Alguien que me eche una mano.. ![]() android:configChanges="orientation|keyboardHidden| screenSize"> Pero al hacer eso no me visualiza el layout-land que cree
|
|
#4
|
||||
|
||||
|
|
|
#5
|
||||
|
||||
|
Si quieres que el Layout sea otro tendrás que usar entonces onSaveInstanceState, y luego recuperarlo en el onCreate.
|
|
#6
|
||||
|
||||
|
|
|
#7
|
||||
|
||||
|
#8
|
||||
|
||||
|
Si no, mírate esto:
http://www.androiddesignpatterns.com...g-changes.html Es básicamente meter lo que quieras en un fragmento y retenerlo. Por otro lado, si metes lo que te han dicho en el manifest, diría que tienes que hacer, en tu actividad: @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); }
__________________
Por favor, cita este mensaje o mencióname si necesitas que responda, así me saltará en Tapatalk
|
|
#9
|
||||
|
||||
|
Si no, mírate esto:
http://www.androiddesignpatterns.com...g-changes.html Es básicamente meter lo que quieras en un fragmento y retenerlo. Por otro lado, si metes lo que te han dicho en el manifest, diría que tienes que hacer, en tu actividad: @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } ![]() ![]() ![]()
|
![]() |
Estás aquí
|
||||||
|
||||||