如何在 android 中制作自定义按钮的边框

How to make the Borders of a custom button in android

我想实现这样的目标:

我想让按钮透明我已经成功了,现在告诉我如何在按钮的上边框和两个按钮之间显示线。我该如何处理。我的 xml 按钮就是这样

<LinearLayout
        android:id="@+id/buttons"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center"
        android:layout_alignParentBottom="true"
        android:weightSum="2">
            <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text=" Send Message"
            android:layout_weight="1"
            android:background="@android:color/transparent"
            android:textColor="#ff4444"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Cancel"
            android:layout_weight="1"
            android:background="@android:color/transparent"
            android:textColor="#ff4444"/>
    </LinearLayout>

那么我怎样才能实现如下图所示的边框。 请原谅我的小尺寸图片,因为我只有这一张图片可以解决我的问题。

如果您想添加分隔线,请添加:

<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray"/>

我会使用 realitveLayout 而不是 LinearLayout,这样您可以更快地设置分隔符的位置。您将有 2 个分隔符,一个是水平分隔符,layout_width="match_parent",一个在元素之间。

Android draw a Horizontal line between views

Android Drawing Separator/Divider Line in Layout?

您可以定义自己的形状并添加到 Button,作为背景: 将其用作 R.drawable.myshape:

放在res/drawable/myshape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="rectangle">
  <gradient android:startColor="#FFFEEE" 
    android:endColor="#00FFFF"
    android:angle="270" />
  <corners android:radius="5dp" />
  <stroke android:width="7px" android:color="#EE0FF0" />
</shape>

如果你也想透明,试试这个:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="1.4"
android:useLevel="false" >
<solid android:color="@android:color/transparent" />

<stroke
    android:width="4dp"
    android:color="@android:color/darker_gray" />
 </shape>