Cómo crear un diseño que se divide en diagonal y las dos mitades son clicables?

Tengo que crear un diseño que se divide la pantalla en diagonal en dos partes con diferentes colores como su fondo.Algo como esto:

Introduzca aquí la descripción de la imagen

¿Cómo puedo conseguir esto?

Esto puede hacerse de la siguiente manera:

  • Cree un FrameLayout (digamos 50×50 píxeles).
  • Crear dos ImageView s (dentro de FrameLayout y ponerlos a match_parent ) y como fuente darles los dos triángulos.
  • Cree un onTouchListener para FrameLayout .

Ahora viene la parte difícil:

 public boolean onTouch(View v, MotionEvent me){ float time = System.getCurrentTimeInMilles(); if(me.action == MotionEvent.DOWN) lastTimePress = time; /// global var if(me.action == MotionEvent.UP && lastTimePress - time < 200){ if(calcPlace(me.getX()) < me.getY()) /// go to onClick for the right triangle else /// go to onClick for the left triangle } } public int calcPlace(int x){ return 50 -x; } 

No tiene que establecer onClickListener para los dos triángulos ( ImageView s), sólo tiene un método que maneja los clics.

Algunos campos pueden estar mal, lo siento 🙂 Espero que entiendas el punto.

Debe ser posible crear una vista como el fondo, después poner otro sobre él con un ángulo de 45 grados. Coloque ambos dentro de un FrameLayout para recortarlo de nuevo a un rect. Puede asignar un controlador onClick a cada uno de ellos.

Usted puede fijar el fondo por el xml. Hacer la imagen abc del mismo fondo en un tamaño diferente:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/abc" android:orientation="vertical" > </LinearLayout> 
  • Utilizar 'ellipsize' en un TextView y estirar la vista SOLAMENTE si es necesario
  • Crear Sub Menú en Android a través de código
  • Topmost View traga eventos táctiles porque la superposición
  • Obtener Fragmento dinámicamente adjunto a <FrameLayout>?
  • Cómo limitar la altura de la vista desplegable de Spinner en Android
  • ¿Hay alguna manera de cambiar el color de la elevación de una vista android?
  • La adición de mi vista personalizada a un diseño XML arroja una excepción
  • ¿Cómo aumentar la altura de la fila de la tabla según las pantallas?
  • Establecer RelativeLayout niño para llenar el espacio no utilizado
  • Cadena de referencia de Android en string.xml
  • ¿Cómo fijar el fondo de imagen de la imagen para el estado diferente?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.