Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Transición de la actividad de Android en un ListView

Estoy intentando realizar la siguiente transición de actividad en Android:

Introduzca aquí la descripción de la imagen

  • Convertir JSONArray a Array de cadenas
  • Android Spinner con opción múltiple
  • ActivityUnitTestCase arroja RuntimeException cuando se ejecuta con AndroidJUnitRunner
  • OnPause / onResume problemas de actividad
  • Para los proyectos de la biblioteca de android, ¿es <uses-sdk> significativo en el manifiesto?
  • No se puede cambiar el tamaño de los niños de diseño lineal en android reaccionar módulo nativo
  • En 1 vemos un ListView usual. Ahora ( 2 ), cuando pongo mi dedo en un elemento ListView y deslizo mi dedo hacia la izquierda, todos los otros elementos ListView se alejan, excepto el que tiene mi dedo sobre él. Si se completa la transición, el elemento "ListView" seleccionado se expande sobre la pantalla y muestra algún contenido.

    Pregunta : ¿Es posible esta transición con funciones API de stock?

  • Android: Distinct y GroupBy en ContentResolver
  • Generador de caracteres aleatorios con un rango de (A..Z, 0..9) y puntuación
  • Actividad de Android sobre la pantalla de bloqueo predeterminada
  • TextInputLayout: ¿Cómo dar relleno o margen para sugerir?
  • ¿Cómo puedo crear una aplicación androide multilingüe?
  • ¿Cómo puedo iniciar una nueva actividad de Android con una cadena?
  • 5 Solutions collect form web for “Transición de la actividad de Android en un ListView”

    Mientras que @hasanghaforian es técnicamente correcto, la subclasificación de AdapterView es extremadamente difícil. Le sugiero que vaya con este enfoque. He incluido un ejemplo completo de trabajo.

    1. Coloque su vista ListView en un parámetro relativoLayout
    2. OnClick, infla una copia de tu render
    3. Encuentre las coordenadas globales de donde se sitúa el renderizador en relación con el padre del ListView
    4. Agregue el procesador copiado a RelativeLayout (padre de ListView)
    5. Animar la listaVer lejos
    6. Al final de ese animado, anime tu nuevo procesador
    7. ¡Lucro!
    public class MainActivity extends Activity { private RelativeLayout layout; private ListView listView; private MyRenderer selectedRenderer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); layout = new RelativeLayout(this); setContentView(layout); listView = new ListView(this); RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); layout.addView(listView, rlp); listView.setAdapter(new MyAdapter()); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // find out where the clicked view sits in relationship to the // parent container int t = view.getTop() + listView.getTop(); int l = view.getLeft() + listView.getLeft(); // create a copy of the listview and add it to the parent // container // at the same location it was in the listview selectedRenderer = new MyRenderer(view.getContext()); RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(view.getWidth(), view .getHeight()); rlp.topMargin = t; rlp.leftMargin = l; selectedRenderer.textView.setText(((MyRenderer) view).textView.getText()); layout.addView(selectedRenderer, rlp); view.setVisibility(View.INVISIBLE); // animate out the listView Animation outAni = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, -1f, Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, 0f); outAni.setDuration(1000); outAni.setFillAfter(true); outAni.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { ScaleAnimation scaleAni = new ScaleAnimation(1f, 1f, 1f, 2f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); scaleAni.setDuration(400); scaleAni.setFillAfter(true); selectedRenderer.startAnimation(scaleAni); } }); listView.startAnimation(outAni); } }); } public class MyAdapter extends BaseAdapter { @Override public int getCount() { return 10; } @Override public String getItem(int position) { return "Hello World " + position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { MyRenderer renderer; if (convertView != null) renderer = (MyRenderer) convertView; else renderer = new MyRenderer(MainActivity.this); renderer.textView.setText(getItem(position)); return renderer; } } public class MyRenderer extends RelativeLayout { public TextView textView; public MyRenderer(Context context) { super(context); setPadding(20, 20, 20, 20); setBackgroundColor(0xFFFF0000); RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); rlp.addRule(CENTER_IN_PARENT); textView = new TextView(context); addView(textView, rlp); } } } 

    Si apunta a JellyBean o superior, puede utilizar la clase ActivityOptions para personalizar la animación de inicio de actividad.

    A continuación se muestra un pseudo código para lograr esto:

     Intent i = //the intent for the new activity View v = //the selected list item Bundle bundle = ActivityOptions.makeScaleUpAnimation(v, 0, 0, v.getWidth(), v.getHeight()).toBundle(); startActivity(i, bundle); 

    Una desventaja del ListView estándar es la falta de buena física (y la capacidad de cambiarla). Por lo tanto, si desea cambiarlo, sólo tiene que implementar su propia view.You tiene que extender una subclase de ViewGroup que es AdapterView , para que AdapterView será su semi lista.

    Detalles :

    1. Establezca el adaptador para su AdapterView en el setAdapter(Adapter adapter) .

    2. onLayout método onLayout para agregar artículos a su AdapterView Usted tiene que medir y agregar artículos como childview en la posición correcta a su lista (realmente su AdapterView).

    3. Cuando el usuario toca un elemento virtically, la lista debe desplazarse y cuando toca horizontalmente, usted tiene que cambiar la posición de otros elementos de la lista y Cuando el usuario recoge su dedo de la pantalla tiene que decidir que otros elementos sean visibles o que el elemento seleccionado deba extenderse.

    Muestra :

    Hacer su propia lista 3D (y la parte 2 de ese artículo) tiene una buena demostración de lo que se muestra para usted. Su propósito es la creación de una lista 3D. Puede ver más detalles, códigos de fragmentos y código completo. Aunque usted tiene que cambiar es onTouchEvent() para llegar a lo que quieres.

    Nota : Puede hacerlo incluso en API1 .

    ¡Espero que esto te ayude!

    En su archivo xml, debajo de ListView, tome otro layout linear / layout relativo y diseñarlo de acuerdo a su necesidad, pero asegúrese de que su visibilidad debe haber desaparecido. Cuando toque en el elemento de vista de lista, rellenarlo con su contenido y hacer todo esto en prensa larga. Para la animación, escala a la izquierda.

    Whenevr u presione en ese elemento de la lista que debe llamar animaciones para esto u tiene que pasar por las animaciones.En esa animación que debe diseñar y en esas animaciones si ur usando imagesmeans ir throug 9 imágenes de parche

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.