美文网首页
Android Quick Tips #9 — How to A

Android Quick Tips #9 — How to A

作者: 签到钱就到 | 来源:发表于2016-06-09 16:36 被阅读66次

原文by Norman Peitek 翻译by Dexter0218

如何添加Actionbar菜单图标的边距

在上篇文章中,我们看了一个只有一个菜单项的简单的Actionbar:

a simple actionbara simple actionbar

我们在菜单资源文件中设置菜单项图标:

<menu 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"
      tools:context=".MainActivity">

    <item
        android:id="@+id/action_delete"
        android:icon="@android:drawable/ic_delete"
        android:title="Delete"
        app:showAsAction="ifRoom"/>

</menu>  

然而,我们假设我们的设计师并不知道这个图标应该设计多大。他希望它更小。让然,你可能再次需要这个drawable,只是一个更小的分辨率的才能解决问题。技术上它可以获得你想要的结果,但我们不推荐使用此方法。很难去预测它在不同的设备上会变成什么样子,并且很容易让这个图标看到像素点。

更好的方法是使用一个高分辨率的图标,但为它添加padding。不幸地,Android并不直接支持在菜单项里声明。

你需要的是创建一个新的XML drawable,例如/drawable/delete_with_padding.xml

<?xml version="1.0" encoding="utf-8"?>  
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
    <item
        android:bottom="4dp"
        android:left="4dp"
        android:right="4dp"
        android:top="4dp">

        <bitmap android:src="@android:drawable/ic_delete"/>

    </item>
</layer-list>  

这个XML drawable会有四个边距项,每个代表一个方向。最后我们使用原来的菜单项声明位图中使用的图标。显然,如果你需要,你可以调整4dp的边距值。最后一步是使用这个新的/drawable/delete_with_padding.xml作为你的Actionbar菜单项图标:

<menu 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"
      tools:context=".MainActivity">

    <item
        android:id="@+id/action_delete"
        android:icon="@drawable/delete_with_padding"
        android:title="Delete"
        app:showAsAction="ifRoom"/>

</menu>  

Menu Item: 4dp Padding

Menu Item: 4dp PaddingMenu Item: 4dp Padding

Menu Item: 8dp Padding

Menu Item: 8dp PaddingMenu Item: 8dp Padding

这个方法会允许你为你的Actionbar菜单图标添加边距,而不需要动图标资源!

我们希望这对你有用!如果你有其他tips分享,欢迎在下面的评论里留言~!

相关文章

网友评论

      本文标题:Android Quick Tips #9 — How to A

      本文链接:https://www.haomeiwen.com/subject/qfxsdttx.html