Je veux créer une barre d'outils dans mon application, et je me demande quelle est la hauteur standard pour la barre d'outils dans Android ?
Je veux qu'il soit assez grand pour un doigt, mais pas énorme. Existe-t-il une taille standard ?
Je veux créer une barre d'outils dans mon application, et je me demande quelle est la hauteur standard pour la barre d'outils dans Android ?
Je veux qu'il soit assez grand pour un doigt, mais pas énorme. Existe-t-il une taille standard ?
Il est préférable d'utiliser ?attr/actionBarSize
comme l'a fait remarquer @Jaison Brooks.
Dans le directives concernant les matériaux La taille suggérée est de 56dp :
Barre d'outils : 56dp
La taille minimale recommandée pour les éléments touchables est de 48 dp, voir cette page pour des mesures plus détaillées.
En plus de la réponse de @vedant1811, vous pouvez obtenir de manière programmatique actionBarSize
à partir d'attrs :
TypedValue tv = new TypedValue();
if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true))
{
actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
}
Vous pouvez utiliser la méthode suivante pour obtenir la hauteur de l'AppBar de manière programmatique
private static final int DEFAULT_TOOLBAR_HEIGHT = 56;
private static int toolBarHeight = -1;
public static int getToolBarHeight(Context context) {
if (toolBarHeight > 0) {
return toolBarHeight;
}
final Resources resources = context.getResources();
final int resourceId = resources.getIdentifier("action_bar_size", "dimen", "android");
toolBarHeight = resourceId > 0 ?
resources.getDimensionPixelSize(resourceId) :
(int) convertDpToPixel(DEFAULT_TOOLBAR_HEIGHT);
return toolBarHeight;
}
public static float convertDpToPixel(Context context, float dp) {
float scale = context.getResources().getDisplayMetrics().density;
return dp * scale + 0.5f;
}
Vous pouvez utiliser le widget de la barre d'outils qui existe déjà dans Android et mettre la hauteur wrap_content , il sera donc préférable de prendre la taille par défaut qui vient avec.
ici
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:background="@color/dark_cerulean">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingEnd="16dp"
android:paddingStart="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="end"
android:gravity="end"
android:layout_marginEnd="16dp"
android:textColor="@color/white"
android:id="@+id/toolbar_title" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image1"
android:id="@+id/image"/>
</LinearLayout>
</android.support.v7.widget.Toolbar>
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.