Android-툴바의 표준 높이


83

내 앱에 툴바를 만들고 싶은데, 안드로이드 툴바의 표준 높이가 얼마인지 궁금합니다.

나는 그것이 손가락만큼 크지 만 크지 않기를 바랍니다. 표준 크기가 있습니까?

답변:


204

사용하는 것이 가장 좋습니다 ?attr/actionBarSize@Jaison Brooks가 언급 한대로 하는 .

에서 재료 지침 , 제안 높이 56dp입니다 :

툴바 : 56dp


9
그것은? 안드로이드 ATTR / actionBarSize '이제
사타르

35

터치 가능한 요소에 권장되는 최소 크기는 48dp 입니다. 자세한 측정 항목 은 이 페이지 를 참조하세요.


40
@nrofis 툴바의 xml에서 다음을 설정하는 것이 좋습니다 android:minHeight="?attr/actionBarSize".
Jaison Brooks 2014

2
가로 모드
Zapnologica

6

@ vedant1811 답변 외에도 actionBarSizeattrs에서 프로그래밍 방식으로 얻을 수 있습니다 .

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

2

다음 방법을 사용하여 프로그래밍 방식으로 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;
}

2

들어 전화 는 것입니다 56dp같은 대형 기기과 태블릿 당신이 할 수있는 더 많은 공간이64dp


1

안드로이드에 이미 존재하는 툴바 위젯을 사용하고 높이 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>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.