【问题标题】:Android: how to create 3 vertical dots?Android:如何创建 3 个垂直点?
【发布时间】:2014-03-16 18:14:43
【问题描述】:

例如,在 Google Play 中,列表中的每个项目的右上角都有一个 3 个垂直点,以显示弹出菜单。创建这 3 个点的最佳方法是什么?

非常感谢你们!

【问题讨论】:

  • 你说的是溢出按钮吗?如果是这样,它只是一个图像文件,可以下载(您可以通过 SDK 本身获取)...
  • 好的,请问我的 SDK 中的这张图片在哪里?谢谢!
  • 我现在将在下面添加一个答案。
  • 出于兴趣,您确实知道不需要自己创建该图标,对吧?您知道框架会自动为您创建它 - 您只需向项目中添加一个 menu.xml 文件,其中包含您的菜单项......(只是检查)

标签: android button shape


【解决方案1】:

这篇文章很旧,是的,但我想出了另一种方法来包含这些点而不添加更多图形:使用垂直省略号,这是任何想要的字符串资源:

<string name="vertical_ellipsis">&#8942;</string>

然后你可以在按钮上使用它作为文本。

【讨论】:

  • 这是一个非常优雅的回应
  • 我喜欢优雅地做事(:
  • 在 LG G3 上看起来不一样 :(
  • 哇,发个截图看看效果如何
  • 作为真正的 Unicode 字符,它在 HTML5 中也能完美运行。
【解决方案2】:

对于 3 点图标,您可以在 SDK 中的 ".../android-sdk\platforms\android-19\data\res..." 下找到它,命名为 "ic_menu_moreoverflow_normal_holo_light" 或 "ic_menu_moreoverflow_normal_holo_dark" ,具体取决于您应用的样式。请注意,它在多个文件夹中有多个文件,以便根据按钮的状态和设备的密度正确选择图像。


更新:你也可以找到here(搜索“more”)和here(在“navigation”中,搜索“more_vert”)。

如果你支持 VectorDrawable,我推荐第二个。


更新:目前最新的文件是abc_ic_menu_overflow_material.xml VectorDrawable,内容如下:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0"
        android:tint="?attr/colorControlNormal">
    <path
            android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2c-1.1,0 -2,0.9 -2,2S10.9,8 12,8zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2c1.1,0 2,-0.9 2,-2S13.1,10 12,10zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2c1.1,0 2,-0.9 2,-2S13.1,16 12,16z"
            android:fillColor="@android:color/white"/>
</vector>

【讨论】:

  • 来自您的帖子返回 404 的链接
  • @Alex 谢谢。更新了新官方链接。
  • abc_ic_menu_overflow_material
  • @Miha_x64 是的。这是目前最新的。
【解决方案3】:

为您的应用程序添加 SVG 支持。然后按File &gt; New &gt; Vector Asset,选择资产类型“剪贴画”,按“剪贴画”按钮。在打开的窗口中搜索“more”,选择“more vert”,按“OK”,然后按“Next”,“Finish”。

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportHeight="24.0"
    android:viewportWidth="24.0"
    >
    <path
        android:fillColor="#000000"
        android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"
        />
</vector>

【讨论】:

    【解决方案4】:

    您可以从https://github.com/google/material-design-icons 下载所有素材图标。 三点图标称为ic_more...

    我创建了this script 将所有版本(mdpi、ldpi、xdpi、xxdpi)复制到 android 项目。可能会派上用场。

    【讨论】:

    • 发布图片的实际链接。
    • 更具体地说:“导航”中的 ic_more_*
    【解决方案5】:

    创建一个xml drawable并添加以下代码,可以将颜色改为白色

    <?xml version="1.0" encoding="utf-8"?>
    <vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="512"
        android:viewportHeight="512">
    
        <path
            android:fillColor="#000000"
            android:pathData="M 256 192 C 291.346223989 192 320 220.653776011 320 256 C 320 291.346223989 291.346223989 320 256 320 C 220.653776011 320 192 291.346223989 192 256 C 192 220.653776011 220.653776011 192 256 192 Z" />
        <path
            android:fillColor="#000000"
            android:pathData="M 256 384 C 291.346223989 384 320 412.653776011 320 448 C 320 483.346223989 291.346223989 512 256 512 C 220.653776011 512 192 483.346223989 192 448 C 192 412.653776011 220.653776011 384 256 384 Z" />
        <path
            android:fillColor="#000000"
            android:pathData="M 256 0 C 291.346223989 0 320 28.6537760108 320 64 C 320 99.3462239892 291.346223989 128 256 128 C 220.653776011 128 192 99.3462239892 192 64 C 192 28.6537760108 220.653776011 0 256 0 Z" />
    </vector>
    

    【讨论】:

      【解决方案6】:

      使用默认的安卓More Vertical icon

      或者您可以复制并粘贴此: 作为字符串。

      【讨论】:

        【解决方案7】:

        不客气 :) android:background="@android:drawable/ic_menu_moreoverflow_normal_holo_light"

        【讨论】:

        • 不保证可用,这取决于您在项目中使用的库
        • 不可用
        猜你喜欢
        • 1970-01-01
        • 2019-04-30
        • 1970-01-01
        • 1970-01-01
        • 2022-11-14
        • 2021-05-19
        • 1970-01-01
        • 2014-06-23
        • 2021-08-06
        相关资源
        最近更新 更多