Je veux créer une barre d'outils dans mon application et je me demande quelle est la hauteur standard de la barre d'outils sous Android.
Je veux que ce soit assez grand pour un doigt, mais pas énorme. Y a-t-il une taille standard?
Il est préférable d’utiliser ?attr/actionBarSize
comme le commente @Jaison Brooks.
Dans les instructions relatives au matériel , la hauteur suggérée est de 56dp:
Barre d'outils: 56dp
La taille minimale recommandée pour les éléments tactiles est de 48 dp, voir cette page pour des statistiques plus détaillées.
En plus de la réponse @ vedant1811, vous pouvez obtenir par programme actionBarSize
à partir de 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 AppBar par programme
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;
}
Pour les téléphones il s’agit de 56dp
et pour les grands appareils comme les tablettes pour lesquels vous disposez de plus d’espaces, il pourrait s'agir de 64dp
vous pouvez utiliser le widget de barre d’outils qui existe déjà dans Android et mettre la hauteur wrap_content, il sera donc préférable d’obtenir la taille par défaut qui va 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>