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:
- Cómo crear una imageView con parámetros id y src?
- ActionBarSherlock con pantalla completa
- Ayuda de la sentencia del caso de Android
- La transición suave del teclado ... ¿cómo lo hace WhatsApp?
- ¿Cómo ajustar automáticamente el tamaño de fuente en la barra de acción spinner basado en la orientación?
¿Cómo puedo conseguir esto?
- La dimensión de la pantalla del dispositivo tiene un efecto extraño en las imágenes a escala
- Iniciar otra actividad (por Intent) en la mitad de la pantalla
- ¿Qué propiedad controla el fondo desplegable de Spinner?
- Error al cargar la actividad con HierarchyViewer
- ¿Ayuda a identificar el diseño utilizado aquí?
- Añadir dinámicamente formas Opengl
- StaggeredGridLayoutManager reordena los elementos
- Android: Establecer márgenes en un FrameLayout mediante programación, no funciona
Esto puede hacerse de la siguiente manera:
- Cree un
FrameLayout
(digamos 50×50 píxeles). - Crear dos
ImageView
s (dentro deFrameLayout
y ponerlos amatch_parent
) y como fuente darles los dos triángulos. - Cree un
onTouchListener
paraFrameLayout
.
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>
- Android Sqlite – "No hay tal tabla" Error
- ¿Hay alguna forma de tener URL de enlace automático de WebView y números de teléfono en Android?