更改操作栏中的图标大小
Posted
技术标签:
【中文标题】更改操作栏中的图标大小【英文标题】:Change the icon size in the actionbar 【发布时间】:2015-05-08 03:39:42 【问题描述】:我想要一个更大的操作栏。 所以我更改了样式中的操作栏大小,现在我正在寻找更改图标大小并将文本也更大。
这是我的风格:
<!-- Application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:textSize">22sp</item>
<item name="android:actionBarSize">100dp</item>
<item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>
<item name="android:actionButtonStyle">@style/MyActionButtonStyle</item>
</style>
<style name="MyActionButtonStyle" parent="android:style/Widget.ActionButton">
<item name="android:layout_width">fill_parent</item>
</style>
<style name="MyActionBarTabText" parent="android:style/Widget.Holo.ActionBar.TabText">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">25dp</item>
</style>
还有我的 actionBar 菜单(menu.xml):
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/app_setting"
android:title="@string/app_setting"
android:layout_
android:layout_
android:icon="@drawable/ic_setting"
android:showAsAction="ifRoom" />
</menu>
并且在主类中:
@Override
public boolean onCreateOptionsMenu(Menu menu)
getMenuInflater().inflate(R.menu.menu, menu);
return true;
另外,我尝试了几个问题,但我无法让它发挥作用。
I want to change actionbar icon size
How to change actionBar icon size?
【问题讨论】:
没有。我仍在寻找解决方案。 您找到解决方案了吗?我面临同样的问题。 【参考方案1】:最好的解决方案是在你的布局中实现 Toolbar 并在其上放置 TextView 并定义属性。 这是我的解决方案。
activity_main.xml<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_
android:layout_>
<com.google.android.material.appbar.AppBarLayout
android:layout_
android:layout_
android:theme="@style/AppTheme.AppBarOverlay"
tools:ignore="MissingConstraints">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_
android:layout_
android:theme="@style/Theme.MyTest"
app:popupTheme="@style/Theme.MyTest">
<LinearLayout
android:layout_
android:layout_
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_
android:layout_
android:text="@string/app_name"
android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title"
android:textColor="@color/white"
android:textSize="@dimen/title_size" />
</LinearLayout>
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.AppBarLayout>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/nav_view"
android:layout_
android:layout_
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:background="?android:attr/windowBackground"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:menu="@menu/bottom_nav_menu" />
<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_
android:layout_
app:defaultNavHost="true"
android:layout_marginTop="?attr/actionBarSize"
app:layout_constraintBottom_toTopOf="@id/nav_view"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/mobile_navigation" />
</androidx.constraintlayout.widget.ConstraintLayout>
这里是 Toolbar 属性中使用的样式。
值\style.xml...
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
...
通过这种方式,您将有机会根据需要更改标题颜色和大小。
【讨论】:
【参考方案2】:从 Vector Asset 导入图标时,根据您的要求设置大小即可。
【讨论】:
以上是关于更改操作栏中的图标大小的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 SearchView 上的默认图标,以便在 Android 的操作栏中使用?