Я хочу создать панель инструментов в своем приложении, и мне интересно, какова стандартная высота панели инструментов в Android?
Я хочу, чтобы он был достаточно большим для пальца, но не огромным. Есть стандартный размер?
android
user-interface
toolbar
нрофис
источник
источник
Рекомендуемый минимальный размер сенсорных элементов - 48 dp, более подробные показатели см. На этой странице .
источник
android:minHeight="?attr/actionBarSize"
.В дополнение к ответу @ vedant1811 вы можете программно получить
actionBarSize
из attrs:TypedValue tv = new TypedValue(); if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) { actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics()); }
источник
Вы можете использовать следующий метод, чтобы программно получить высоту 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; }
источник
Для телефонов это так,
56dp
а для больших устройств, таких как планшеты, на которых у вас больше места, это может быть64dp
источник
вы можете использовать виджет панели инструментов, который уже существует в Android, и указать высоту wrap_content, так что будет лучше получить размер по умолчанию, который идет с ним.
Вот
<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>
источник