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?
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
La taille minimale recommandée pour les éléments palpables est de 48 dp, voir cette page pour des mesures plus détaillées.
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;
}
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());
}
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
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>