web-dev-qa-db-ja.com

Android-ツールバーの標準の高さ

アプリにツールバーを作成したいのですが、Androidのツールバーの標準の高さはどれくらいですか?

私は指に十分な大きさを望んでいますが、巨大ではありません。標準サイズはありますか?

69
nrofis

@Jaison Brooksがコメントしたように、?attr/actionBarSizeを使用するのが最善です。

材料ガイドライン では、推奨される高さは56dpです:

ツールバー:56dp

158
vedant

タッチ可能な要素の推奨最小サイズは48 dpです。詳細なメトリックについては このページ を参照してください。

34
molnarm

@ vedant1811の答えに加えて、attrsからプログラムでactionBarSizeを取得できます。

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

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
guy.gc

phonesの場合は56dpおよびtabletsのような大きなデバイスの場合は、スペースがもっとありますが、64dp

1
Mahdi-Malv

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>
0
Rooh Al-mahaba