web-dev-qa-db-fra.com

Android - Hauteur standard de la barre d'outils

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?

60
nrofis

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

138
vedant

La taille minimale recommandée pour les éléments tactiles est de 48 dp, voir cette page pour des statistiques plus détaillées.

33
molnarm

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());
}
2
repitch

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;
}
2
guy.gc

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

0
Mahdi-Malv

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>
0
Rooh Al-mahaba