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 dans android?

Je veux qu'il soit assez grand pour un doigt, mais pas énorme. Est-il une taille standard?

48
demandé sur nrofis 2012-10-20 15:35:02

6 réponses

Il est préférable d'utiliser ?attr/actionBarSize comme l'a commenté @ Jaison Brooks.

Dans les directives sur les matériaux , la hauteur suggérée est 56dp:

Barre d'outils: 56dp

113
répondu vedant 2016-03-30 17:13:46

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

31
répondu Márton Molnár 2012-10-20 12:54:36

Vous pouvez utiliser la méthode suivante pour obtenir la hauteur de L'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
répondu guy.gc 2017-07-19 14:29:58

En plus de la réponse @vedant1811, vous pouvez obtenir par programme {[1] } à 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());
}
1
répondu repitch 2018-05-14 15:07:47

Pour téléphones c'est 56dp et pour les gros appareils comme les comprimés que vous avez plus d'espaces qu'il pourrait être 64dp

0
répondu Malv 2017-08-18 21:28:47

Vous pouvez utiliser le widget de la barre d'outils qui existent déjà dans android et mettre la hauteur wrap_content, il sera donc préférable d'obtenir la taille par défaut qui viennent avec elle.

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
répondu Rooh Al-mahaba 2018-07-09 10:58:10