使用工具栏的大小在Android工具栏上设置徽标

时间:2016-09-29 21:54:42

标签: java android xml

我正在尝试在主要活动的应用工具栏的中心设置徽标,但由于徽标是高清版,因此工具栏会增加其尺寸以适应徽标的大小。有没有办法按比例减少徽标的大小,以便在工具栏上正确设置?

这是我的代码:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    getSupportActionBar().setDisplayUseLogoEnabled(true);
    getSupportActionBar().setLogo(R.drawable.logotrans);

<android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            android:minHeight="?attr/actionBarSize"
            app:titleTextColor="@android:color/white"></android.support.v7.widget.Toolbar>

<style name="ToolbarStyle" parent="@style/ThemeOverlay.AppCompat.ActionBar">
        <item name="colorControlNormal">@color/white</item>
    </style>

结果如下:

Toolbar

1 个答案:

答案 0 :(得分:1)

Android中的工具栏是一个ViewGroup。因此,您可以将小部件放在工具栏中作为其子级。另外,要使日志与工具栏的大小相同,请为工具栏指定一定的高度,并将图像大小设置为match_parent。例如:

<android.support.v7.widget.Toolbar
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/black">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:src="@drawable/ic_clock" 
        android:layout_gravity="center_horizontal"
        />
    </FrameLayout>
</android.support.v7.widget.Toolbar>

我仍然建议减小徽标的大小,因为它可能会在将来导致内存泄漏。