studio setonlongclicklistener pulsado programacion móviles mantener evento desarrollo curso aplicaciones android button pressed

android - setonlongclicklistener - ¿Cómo puedo mantener presionado un botón después de hacer clic en él?



programacion android pdf 2018 (3)

¿Un ToggleButton adaptaría a sus necesidades?

A juzgar por sus comentarios, parece que no conoce el Modo táctil . En este modo, que es el predeterminado para la mayoría de las cosas, no hay foco (que es lo que está tratando de lograr) y no hay elementos seleccionados.

Podría tratar de salir del modo táctil programáticamente, pero no lo recomendaría. Después de un pequeño período de acostumbrarse, el modo táctil brindará una experiencia mucho mejor a los usuarios.

Posible duplicado:
Androide. ¿Cómo mantengo un botón mostrado como PRESIONADO hasta que la acción creada por ese botón haya finalizado?

Tengo un botón, y quiero que cuando lo presione, se mantenga presionado (con el color verde en Froyo).

¿Alguna ayuda?

mycodes_Button = (Button) findViewById(R.id.mycodes); ... if (saved_Button.isPressed()) { saved_Button.setFocusable(true); }

¿Algo como esto?


Tuve este problema con un botón con un fondo personalizado, y terminé usando el estado seleccionado para esto. Ese estado está disponible para todas las vistas.

Para usar esto, debe definir un fondo de botón personalizado como una lista de estado :

<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="false" android:state_focused="false" android:state_pressed="false"><bitmap ... /></item> <item android:state_selected="true"><bitmap ... /></item> <item android:state_focused="true"><bitmap ... /></item> <item android:state_pressed="true"><bitmap ... /></item> </selector>

Luego, para usar ese fondo, digamos que está en /res/drawable/button_bg.xml en su archivo de diseño, usa:

... <Button android:background="@drawable/button_bg" ... /> ...

En su código puede cambiar al estado (des) seleccionado en su oyente OnClick:

myButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { v.setSelected(true); // normal click action here } });

El estado activado coincide mejor con el significado previsto, pero solo está disponible desde Android 3.xy versiones posteriores.


Usa el siguiente código Es útil.

mycodes_Button.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { mycodes_Button.setPressed(true); return true; } });