Android studio 无法更改NavigationView图标大小?
我将自定义样式应用于我的NavigationView,如下所示:Android studio 无法更改NavigationView图标大小?,android-studio,svg,navigationview,Android Studio,Svg,Navigationview,我将自定义样式应用于我的NavigationView,如下所示: app:theme="@style/NavigationDrawerStyle" <style name="NavigationDrawerStyle"> <item name="android:textSize">16sp</item> <item name="android:listPreferredItemHeightSmall">50dp</item&
app:theme="@style/NavigationDrawerStyle"
<style name="NavigationDrawerStyle">
<item name="android:textSize">16sp</item>
<item name="android:listPreferredItemHeightSmall">50dp</item>
<item name="listPreferredItemHeightSmall">50dp</item>
</style>
在my styles.xml中,如下所示:
app:theme="@style/NavigationDrawerStyle"
<style name="NavigationDrawerStyle">
<item name="android:textSize">16sp</item>
<item name="android:listPreferredItemHeightSmall">50dp</item>
<item name="listPreferredItemHeightSmall">50dp</item>
</style>
16便士
50dp
50dp
但是,无论我在自定义样式中插入的dp值如何,我使用的图标的大小都不会改变。它所做的只是缩放每个项目占用的空间,增加选项之间的空间等,但图标大小是固定的。我找不到任何选项/属性来修改图标大小。我该怎么做
这是我正在使用的一个示例图标:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="73dp"
android:height="93dp"
android:viewportWidth="73.79"
android:viewportHeight="93.25">
<path
android:pathData="M73.06,9.52 L36.9,0 0.74,9.52s-9,67.56 36.16,83.74C82.1,77.08 73.06,9.52 73.06,9.52Z"
android:fillColor="#2980b9"/>
<path
android:pathData="M36.9,0V93.25C-8.3,77.08 0.74,9.52 0.74,9.52Z"
android:fillColor="#3498db"/>
<path
android:pathData="M36.9,44.25m-25.69,0a25.69,25.69 0,1 1,51.38 0a25.69,25.69 0,1 1,-51.38 0"
android:fillColor="#2c3e50"/>
<path
android:pathData="M36.9,23a10,10 0,1 1,-10 10A10,10 0,0 1,36.9 23Z"
android:fillColor="#ecf0f1"/>
<path
android:pathData="M56.78,60.51a25.69,25.69 0,0 1,-39.77 0,21.31 21.31,0 0,1 39.77,0Z"
android:fillColor="#ecf0f1"/>
</vector>
编辑:如果可能的话,我还希望能够分别指定高度和宽度。我将问题作者的一个示例从android重新格式化为svg,以尝试解释缩放原理
- 在下面的示例中,图标的大小是固定的
width=“73”height=“93”viewBox=“0 0 73 93”
宽度
和高度
是视口
——我们在小工具显示屏上看到的区域。视口/viewBox
的比例决定图标图像的比例
在我们的例子中,比例将是M1:1
,也就是说,图标将显示为73 x 93
当增加视口时,让我们假设两次width=“146”
height=“186”
比例将为-视口/viewBox=2
图标图像也将加倍。
示例中的视口显示区域为红色边框
绿色边框的示例表明,试图通过容器样式更改图标的大小
#容器绿{
显示:块;
宽度:146;
身高:186;
外形:1px纯绿色;
}
这也是我最初的想法。但是,当删除这些条目时,会出现渲染错误,应用程序会崩溃。%的语法是什么?我100%尝试使用“”和不使用“”,但都给出了一个错误。您还说为视口指定了,尽管您实现的代码是“标准”标注,而不是视口标注。因此,我不太清楚您的确切意思。另外,我在其他线程上读到,这些值只是在低于21的SDK版本中指定的,其中创建了光栅图形,并且没有缩放SVG。即使如此,为什么导航视图中的图标尺寸不是73x93dp?我希望你能提供一些额外的信息或者一个详细的答案,告诉我你会怎么做。在我的例子中,删除dim属性只会返回一个错误。