¿Cómo reducir el tamaño de CalendarView?

¿Puedo saber cómo cambiar el tamaño de CalendarView en Android? El CalendarView ocupó más de la mitad de la pantalla. Quiero hacerlo más pequeño, tal vez el 40% de la pantalla. Gracias.

Tamaño predeterminado de CalendarView en mi smartphone, ocupa más de la mitad

CalendarView

Mi XML actual:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.ada.landing.MainActivity"> <CalendarView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/calendarView" android:firstDayOfWeek="2"/></RelativeLayout> 

Intenté otra manera de definir CalendarView , pero la altura total reducida pero no encoge por la proporción:

CalendarView

 <CalendarView android:layout_width="500dp" android:layout_height="200dp" android:id="@+id/calendarView" android:firstDayOfWeek="2" /> 

Creo que CalendarView no es (realmente) redimensionable porque Android adapta el tamaño de esta vista para permitir al usuario tener una gran experiencia con esta vista. Creo que el tamaño comun es cuando se utiliza un DatePickerDialog. DatePickerDialog

CalendarView necesita una altura y un ancho mínimo.

Si realmente desea cambiar el tamaño de su calendarView, tal vez intente cambiar el tamaño (o escala) de forma programática con esto:

float scalingFactor = 0.5f; // scale down to half the size view.setScaleX(scalingFactor); view.setScaleY(scalingFactor);

Hay un par de maneras diferentes que puede ir sobre la reducción del tamaño de la CalendarView. Una es que puede ajustar manualmente el tamaño de la vista en el archivo .XML que está utilizando el calendario pulg Otra forma es mediante la creación de un nuevo diseño (como el diseño lineal), ajustar el diseño a su tamaño deseado y poner el CalendarView en ese diseño.

Aquí puse el código que reduce al ancho de 40% de la vista de calander.

  <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:weightSum="1"> <LinearLayout android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="0.4" android:orientation="horizontal" android:weightSum="1"> <CalendarView android:id="@+id/calendarView" android:layout_width="0dip" android:layout_height="match_parent" android:layout_weight="0.4" android:firstDayOfWeek="2" /> </LinearLayout> </LinearLayout> 

Puede probar de esta manera:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:weightSum="5" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="2"> <CalendarView android:id="@+id/calendarView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:firstDayOfWeek="2"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="3"></LinearLayout> </LinearLayout> 

Espero que esto ayude a reducir el tamaño de la vista del calendario.

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <CalendarView android:layout_width="200dp" android:layout_height="200dp" android:id="@+id/calendarView" android:firstDayOfWeek="2"/> </LinearLayout> <LinearLayout android:layout_weight="60" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:text="Hello World hello world " android:layout_width="match_parent" android:layout_height="wrap_content"/> </LinearLayout> </LinearLayout> 

Ahora hay una biblioteca que le permite establecer el tamaño de dp en sdp (Scalable Dp) para que pueda ayudar en muchos tamaño de pantalla

Gradle para eso

 compile 'com.intuit.sdp:sdp-android:1.0.3' 

Ejemplo de código El mismo ejemplo anterior, pero soportará todo el tamaño de pantalla posible

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <CalendarView android:layout_width="@dimen/_100sdp" android:layout_height="@dimen/_100sdp" android:id="@+id/calendarView" android:firstDayOfWeek="2"/> </LinearLayout> <LinearLayout android:layout_weight="60" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:text="Hello World hello world " android:layout_width="match_parent" android:layout_height="wrap_content"/> </LinearLayout> </LinearLayout> 

He intentado sobre todo responder pero no de trabajo lo que quiero exactamente. Luego, más tarde tengo usuario [Material Calender View] [1]

[1]: https://github.com/prolificinteractive/material-calendarview . En eso podemos dar la anchura de la baldosa y la altura de la baldosa según nuestro requisito. Si queremos la vista del calendario del rectángulo con mucho menos altura comparada al ancho, podemos fijar el ancho del azulejo más entonces altura. Gracias a todos los que respondieron.

  • ¿Cómo seleccionar la fecha múltiple en calendarView personalizado?
  • ¿String timestamp a Calendario en Java?
  • Cómo calcular el número de semana para la fecha determinada Android
  • Los eventos AllDay de Android comienzan o terminan en el día incorrecto
  • Integración de Calendar en la aplicación de Android
  • ¿Cómo puedo agregar eventos al calendario automáticamente?
  • Problema al asignar una instancia de calendario a otra
  • Add Calendar event to Android de la web .vcs descarga
  • Java.lang.IllegalArgumentException: Clase incorrecta: class java.util.GregorianCalendar
  • Calcular el número de semanas en un año determinado
  • Eliminar entradas de calendario
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.