Diseño inclinado o inclinado de la interfaz de usuario en Android

Interfaz de usuario inclinada

Estoy tratando de diseñar una interfaz de usuario muy similar a esto. He sido capaz de diseñarlo casi similar a la imagen anterior, pero no estoy consiguiendo una manera de implementar la parte inclinada o inclinada.

1) ¿Puede alguien dar un ejemplo de diseño de cómo puedo implementar el diseño inclinado?

2) ¿Y cómo puedo colocar el FAB justo allí sobre la porción inclinada?

Cualquier ayuda sería muy apreciada.

5 Solutions collect form web for “Diseño inclinado o inclinado de la interfaz de usuario en Android”

Puede crear una vista personalizada con la parte superior inclinada con Canvas y luego colocarla sobre su textView, para lograr este aspecto.

Code snippet for slant top custom view :- public class SlantView extends View { private Context mContext; Paint paint ; Path path; public SlantView(Context ctx, AttributeSet attrs) { super(ctx, attrs); mContext = ctx; setWillNotDraw(false); paint = new Paint(Paint.ANTI_ALIAS_FLAG); } @Override protected void onDraw(Canvas canvas) { int w = getWidth(), h = getHeight(); paint.setStrokeWidth(2); paint.setColor(Color.WHITE); paint.setStyle(Paint.Style.FILL_AND_STROKE); paint.setAntiAlias(true); path = new Path(); path.setFillType(Path.FillType.EVEN_ODD); path.moveTo(0,0); path.lineTo(0,h); path.lineTo(w,h); path.close(); canvas.drawPath(path, paint); } } 

Snippet de código para saber cómo usarlo con TextView

 <com.pix.app.views.SlantView android:layout_width="match_parent" android:layout_height="30dp" android:id="@+id/slant_view" /> <TextView-----/> 

Interfaz de usuario deseada

1) ¿Puede alguien dar un ejemplo de diseño de cómo puedo implementar el diseño inclinado?

No puedes. Las vistas son siempre rectangulares. Sin embargo, puede hacer que se vea inclinado, es decir, con la imagen de fondo.

2) ¿Y cómo puedo colocar el FAB justo allí sobre la porción inclinada?

No puedes inclinarte. Es sólo el borde inferior de la caja delimitadora cuadrada. Así que debería ser capaz de ponerlo sin ningún problema.

Normalmente las imágenes se representan en forma rectangular. Puede utilizar el relleno / margen para diseñar la interfaz de usuario según su necesidad. Obviamente, con excepción de la parte inclinada será la imagen transparente.

Tendrás que escribir una vista personalizada para hacerlo. No hay control nativo que pueda hacer esto.

Los lienzos proporcionan soporte para las rutas de recorte, por lo que es bastante fácil recortar la imagen siempre que se pueda dibujar la imagen. Dicho esto, dibujar grandes imágenes en una implementación de OnDraw es menos sencillo (la gestión de la memoria y el correcto escalado y el comportamiento del almacenamiento en caché no es difícil, pero es menos que trivial)

Una manera más fácil de hacerlo sería ampliar algo como un FrameLayout o algún tipo de ViewGroup. Si anula dispatchDraw, puede empujar una ruta de clip en el lienzo, que se clip niños. Y entonces usted puede poner otros controles dentro de su control personalizado.

Algo como esto:

 public class ClipFrameLayout extends FrameLayout { .... constructors and stuff... @Override void dispatchDraw(Canvas canvas) { canvas.save(); canvas.clipPath(mCustomClipPath); super.dispatchDraw(canvas); canvas.restore(); } 

}

Usted necesita tener la raíz o por lo menos el diseño padre inmediato como FrameLayout , entonces,

1) Para la parte de la imagen, puede tener un ImageView normal para mostrar la imagen. Debajo de eso usted puede tener un LinearLayout (blanco, con el fondo blanco).

Ahora basta con inclinar el LinearLayout en blanco a un ángulo probablemente de 45 grados para cortar la imagen de fondo en estilo inclinado. Aquí, simplemente establezca la propiedad XML de la línea LinearLayout en blanco,

 android:rotation = "45" 

2) Para el FAB, basta con moverlo al punto de corte, la gravedad del diseño debe estar a la derecha de acuerdo a su captura de pantalla.

Espero que esto ayude. ¡Aclamaciones!

  • No se puede alinear un botón Imagen derecho mientras que el otro es el izquierdo
  • Android: Ajustar los tamaños de forma programática según el tamaño de la pantalla
  • EditText dentro de un DrawerLayout
  • TextInputLayout: color diferente para la etiqueta de indicación cuando no está enfocado
  • Android selector.xml con atributos personalizados lanzando XmlPullParserException
  • Android: cómo programar el ancho de ImageView dentro de TableRow
  • ¿Cómo configurar el botón tiene la imagen y la sombra?
  • Cómo crear Android ActionBar con vista personalizada y pestañas
  • Recycleview en el conjunto de coordenadas
  • Match_parent altura dentro de la disposición con wrap_content altura
  • Desactivar el enfoque automático al editar el texto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.