Android-工具栏的标准高度

Android-工具栏的标准高度,android,user-interface,toolbar,Android,User Interface,Toolbar,我想在我的应用程序中创建一个工具栏,我想知道android中工具栏的标准高度是多少 我希望它足够大,可以放一根手指,但不要太大。是否有标准尺寸?可触摸元件的建议最小尺寸为48 dp,有关更多详细指标,请参阅。最好使用?attr/actionBarSize,正如@Jaison Brooks评论的那样 在中,建议高度为56dp: 工具栏:56dp 可以使用以下方法以编程方式获取AppBar高度 private static final int DEFAULT_TOOLBAR_HEIGHT = 56;

我想在我的应用程序中创建一个工具栏,我想知道android中工具栏的标准高度是多少


我希望它足够大,可以放一根手指,但不要太大。是否有标准尺寸?

可触摸元件的建议最小尺寸为48 dp,有关更多详细指标,请参阅。

最好使用
?attr/actionBarSize
,正如@Jaison Brooks评论的那样

在中,建议高度为56dp:

工具栏:56dp


可以使用以下方法以编程方式获取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
除了@vedant1811 answer之外,您还可以通过编程从attrs获取
actionBarSize

TypedValue tv = new TypedValue();
if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true))
{
    actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
}

您可以使用android中已经存在的工具栏小部件,并放置height wrap_内容,因此最好获得随附的默认大小

这里



@nrofis我建议在工具栏的xml中设置以下内容
android:minHeight=“?attr/actionBarSize”
。在横向模式下,它是否应该更小?现在是“?android attr/actionBarSize”之间没有间隔。它的
?android:attr/actionBarSize
与其他答案不同,这是最好的答案。根据手机类型,包装内容比硬编码某些数字大小要好得多。
<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>