Lo que quiero hacer:

Quiero tener múltiples actividades cada una precedida de una página que explique al usuario de qué se trata la actividad.

Lo que estoy haciendo actualmente:

Entonces, mi clase principal BaseModuleActivity extiende Activity y estoy tratando de escribir una función llamada showTutorial() que explicará los siguientes pasos a los usuarios.

Aquí está mi intento de hacerlo:

public void showTutorial(String title, String explanation){
               setContentView(R.layout.tutorial_screen);
        TextView tv1 = (TextView)findViewById(R.id.tutoTextTitle);
        tv1.setText(title);

        TextView tv2 = (TextView)findViewById(R.id.tutoTextExplanation);
        tv2.setText(explanation);

        findViewById(R.id.tutoButton).setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on click
                //remove the tutorial's view
                findViewById(R.id.tutoLayout).setVisibility(View.GONE);
            }
        });
    }

Y este método se llama de la siguiente manera:

public class myFirstActivity extends BaseModuleActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_first);

        //First show tuto
        super.showTutorial(getString(R.string.upTitle),getString(R.string.upExplanation));

        //TODO then actually do the activity stuff
        /*
        (findViewById(R.id.next_button)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });
        */
    }
}

Problema:

Creo que el problema es principalmente conceptual. No sé cuál es el mejor enfoque para hacer esto y el enfoque que estoy tomando no funciona.

Lo que estoy haciendo no funciona porque la vista simplemente se vacía. Pensé que configurar la visibilidad del LineLayout como desaparecido lo haría desaparecer y la actividad real podría llevarse a cabo.

Lo que necesito:

¿Tengo que entender si puedo hacer lo que quiero con mi enfoque o no? O qué enfoque debo tomar.

Encontré algunas preguntas similares. Sin embargo, la respuesta a estas preguntas no parecía encajar en mi problema.

También examiné el inflador y el fragmento de diseño, pero el inflador de diseño parece ser más para listView y el fragmento utiliza el inflador de diseño.

0
user1527152 28 mar. 2017 a las 23:09

2 respuestas

La mejor respuesta

Bueno, existen algunos enfoques para mostrar una guía para su actividad (o aplicación).
El primero, y probablemente el más fácil, es mostrar un cuadro de diálogo / TextView cuando el usuario ingresa una actividad y explicar la guía de actividades en ese cuadro de diálogo / TextView usando texto sin formato. De su explicación, creo que esto es lo que está tratando de hacer.
La segunda es usar algo como diapositivas con imágenes para explicar su actividad (como aplicación Google Sheets).
El tercero es explicar cada control en su actividad por separado resaltándolos (similar a cómo Go Launcher explica su función en el primer lanzamiento)

Puede encontrar más información en los siguientes enlaces:
Cómo implementar el primer tutorial de lanzamiento como Android Aplicaciones Lollipop: ¿Te gusta la aplicación Hojas de cálculo, Presentaciones?
Android: primer tutorial interactivo de lanzamiento

1
Community 23 may. 2017 a las 11:46

Parece que lo que quieres es en realidad una introducción. Echa un vistazo a este proyecto:

https://github.com/rubengees/introduction

Desde cada página de introducción puede iniciar la actividad correspondiente.

0
Andre Alexandre 28 mar. 2017 a las 20:33