android - 如何在android中制作药丸形按钮?

标签 android button user-interface android-drawable

我不确定该怎么调用它……也许是药丸状的。谷歌搜索圆角会发现很多人想要一个圆角矩形按钮的帖子。这有点不同,但更像是我尝试将其绘制为 2 个圆圈和一个矩形。

我想通过在 android 上使用 xml 可绘制背景来制作一个形状类似于下面第一张图片但带有文本和图标图像的按钮:

我试过这个看起来不错,但如果按钮长度不同,它不会缩放,你最终会得到一个矩形和一些其他奇怪的东西。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:left="40dp" android:top="0dp" android:bottom="0dp">

        <shape android:shape="oval" >
            <solid android:color="#666666"/>
            <size android:width="40dp" android:height="40dp"></size>

        </shape>

    </item>

    <item android:left="20dp" android:right="20dp">
        <shape android:shape="rectangle" >
            <solid android:color="#666666"/>
            <size android:width="20dp" android:height="20dp"></size>
        </shape>


    </item>

    <item android:right="40dp">
        <shape android:shape="oval" >
            <solid android:color="#666666"/>
            <size android:width="40dp" android:height="40dp"></size>

        </shape>

    </item>


</layer-list>

enter image description here

我也试过像这样创建我的 xml 可绘制对象:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
            <solid android:color="#666666" />

            <corners android:radius="20dp"/>
            <size android:height="20dp" android:width="60dp"></size>
        </shape>

看起来像这样:

enter image description here

我看过this persons example但是当我做他做的事情时,我的结果在拐角处并不完全圆润。它们更像是上面的第二张图片。

最佳答案

您可以尝试将以下代码保存到可绘制对象中(例如 pill_bg.xml):

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:dither="true"
    android:shape="rectangle">

    <corners android:radius="120dp" />

    <solid android:color="@color/white" />

    <stroke
        android:width="1dp"
        android:color="#efefef" />

    <size
        android:width="300dp"
        android:height="120dp" />

</shape>

看看尺寸部分和半径。然后将可绘制对象应用于您的 View ,例如:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="250dp"
    android:layout_height="60dp"
    android:background="@drawable/pill_bg" />

如您所见,您的 View 可以有不同的大小,背景将被缩放。

关于android - 如何在android中制作药丸形按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25211035/

相关文章:

css - 带尖边和阴影的按钮

java - 当我点击 Android 应用程序中的 "Notes"按钮时,如何调用我的 NoteMain 类

java - 如何在 Java 中制作性感的用户界面

iPhone 模态视图位于另一个模态视图内?

android - 未知来源设置安卓

android - 如何使用 3rd 方库构建 android studio 项目

android - BitmapFactory getWidth() getHeight() 和实际图片大小的像素不同

android - 更改抽屉导航 Activity 中的图片和文本

java - 如何从 Android 倒计时器中减去一秒(或更多)?

android - 轻量级跨平台C GUI(OpenGL)