如何制作按钮的自定义形状(两侧指向箭头)?

时间:2017-07-04 09:55:17

标签: android android-layout android-button

我想让我的按钮看起来如下所示。你能否告诉我,如何为以下内容制作一个可绘制的xml文件?

喜欢这个图片

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以通过在drawable

中创建可绘制的XML文件来实现此目的
  

background.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="27dp"
    android:height="24dp"
    android:viewportHeight="628.0"
    android:viewportWidth="726.0">
    <path
        android:fillColor="#00ffffff"
        android:pathData="m723,314c-60,103.9 -120,207.8 -180,311.8 -120,0 -240,0 -360,0C123,521.8 63,417.9 3,314 63,210.1 123,106.2 183,2.2c120,0 240,0 360,0C603,106.2 663,210.1 723,314Z"
        android:strokeColor="#ffffff"
        android:strokeWidth="20" />
</vector>

然后在您的布局文件中,您可以添加如下背景

  

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#652ef0"
    android:orientation="vertical"
    tools:context="com.MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:background="@drawable/background"
        android:gravity="center"
        android:text="Hello World!" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/background"
        android:gravity="center"
        android:text="Hello World 2!" />
</LinearLayout>

这会给你输出这样的东西 activity_main

答案 1 :(得分:0)

如果只是形状可能是矢量drawable就足够了,但是为了绘制形状,图标和文本,最好创建自己的Button类并在重写onDraw中绘制内容。可以使用路径绘制形状。