Chcę utworzyć pasek narzędzi w mojej aplikacji i zastanawiam się, jaka jest standardowa wysokość paska narzędzi w systemie Android?
Chcę, żeby był wystarczająco duży na palec, ale nie duży. Czy jest standardowy rozmiar?
android
user-interface
toolbar
nrofis
źródło
źródło
Zalecany minimalny rozmiar elementów, które można dotykać, to 48 dp. Więcej szczegółowych danych można znaleźć na tej stronie .
źródło
android:minHeight="?attr/actionBarSize"
.Oprócz odpowiedzi @ vedant1811 możesz programowo uzyskać
actionBarSize
z atrybutów:TypedValue tv = new TypedValue(); if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) { actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics()); }
źródło
Możesz użyć następującej metody, aby programowo uzyskać wysokość AppBar
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; }
źródło
W przypadku telefonów tak jest,
56dp
a dla dużych urządzeń, takich jak tablety, które mają więcej miejsca, może to być64dp
źródło
możesz użyć widżetu paska narzędzi, który już istnieje w systemie Android i wstawić wysokość wrap_content, więc lepiej będzie uzyskać domyślny rozmiar, który jest z nim dołączony.
tutaj
<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>
źródło