¿Cómo ajustar automáticamente el tamaño de fuente en la barra de acción spinner basado en la orientación?
Quería colocar un spinner en la barra de acción, al igual que en la aplicación de Gmail. Así que he creado el siguiente diseño.
<?xml version="1.0" encoding="utf-8" ?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/spinner_list_item_selected_header" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:textStyle="bold" android:gravity="center" android:text="Sales" /> <TextView android:id="@+id/spinner_list_item_selected_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:textStyle="bold" android:gravity="center" android:text="" /> </LinearLayout>
Esta ruleta se carga a continuación en la barra de título con el siguiente código:
- Intentar obtener valores de atributo en código devuelve valores incorrectos
- Snackbar y FloatingActionButton error
- ¿Por qué estos botones están mal alineados en un TableLayout?
- Cómo animar los elementos de RecyclerView cuando aparecen
- El pie de página sube cuando se muestra el teclado
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); getActionBar().setListNavigationCallbacks(mSpinnerAdapter, mOnNavigationListener);
Funciona como se esperaba, excepto que en el modo de paisaje, el texto no encaja. En la aplicación de Gmail, el tamaño de la fuente se reduce. ¿Hay una manera de ajustar automáticamente el tamaño de fuente basado en la orientación?
- Cómo diferenciar las pantallas 480X800 y 480X854 en android?
- Cómo utilizar el nuevo diseño de restricciones de Android para reducir la jerarquía de vistas
- Agregue dos puntos al teclado InputType.TYPE_CLASS_NUMBER
- Estilizar vistas compuestas
- Temas de Android dificultan la implementación de la más simple: personalizado por color de tema
- ¿Por qué la gravedad no funciona cuando se aplica al diseño relativo?
- ScrollView captura el evento táctil para google map
- Uso de la API de Google Places
// necesitas usar dimens.xml en la carpeta de valores
<!-- Text size for action bar titles --> <dimen name="action_bar_title_text_size">18dp</dimen> <!-- Text size for action bar subtitles --> <dimen name="action_bar_subtitle_text_size">14dp</dimen> <!-- Top margin for action bar subtitles --> <dimen name="action_bar_subtitle_top_margin">-3dp</dimen> <!-- Bottom margin for action bar subtitles --> <dimen name="action_bar_subtitle_bottom_margin">5dip</dimen>
Crear una carpeta más con valores-tierra
En ese dimens.xml
<!-- Text size for action bar titles --> <dimen name="action_bar_title_text_size">16dp</dimen> <!-- Text size for action bar subtitles --> <dimen name="action_bar_subtitle_text_size">12dp</dimen> <!-- Top margin for action bar subtitles --> <dimen name="action_bar_subtitle_top_margin">-2dp</dimen> <!-- Bottom margin for action bar subtitles --> <dimen name="action_bar_subtitle_bottom_margin">4dip</dimen>
Ref: vaya a su /<android-sdk>/platforms/android-15/data/res
aquí puede encontrar esto.
Lo mejor es saber la orientación del dispositivo cuando se inicia la actividad y utilizar un diseño en función de ello.
Si el retrato setContentView (R.layout.layout_with_bigfont);
Si lanscape setContentView (R.layout.layout_with_smallfont);
De lo contrario, debe configurar la fuente para esa vista (en este caso TextView) de forma dinámica utilizando setTextSize (xdp) en lugar de utilizar 2 diseños diferentes para orientaciones diferentes
- Configurar el icono de la aplicación en el lado derecho en la barra de herramientas de actividad
- ¿Cómo se desarrolla el desarrollo de plataformas móviles en la práctica hoy (año 2013)?