首页 > 解决方案 > 如何创建一个倾斜的按钮?

问题描述

我正在寻找如何创建一个像图片一样的倾斜按钮:

在此处输入图像描述

我尝试了一些解决方案:如何创建平行四边形背景?

Android:如何用偏斜的双色创建形状? 但我找不到我要找的东西

标签: androidbutton

解决方案


有第三方库,可以给Textview倾斜的形状。您可以将侦听器设置为 Textview 并执行所需的功能。您可以通过改变 app:slantedMode="left" 的值来改变 SlantedTextView 的方向,也可以通过改变 app:slantedLength="55dp" 的值来增加和减小 SlantedTextView 的大小。

图书馆:

compile 'com.haozhang.libary:android-slanted-textview:1.2'

链接: https ://github.com/HeZaiJin/ SlantedTextView`

XML 代码:

<com.haozhang.lib.SlantedTextView
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_alignParentEnd="true"
    android:layout_alignParentTop="true"
    android:layout_marginEnd="96dp"
    android:layout_marginTop="139dp"
    android:gravity="center"
    app:slantedBackgroundColor="@color/colorPrimaryDark"
    app:slantedLength="55dp"
    app:slantedMode="left"
    app:slantedText="IOS"
    app:slantedTextColor="@color/colorPrimary"
    app:slantedTextSize="16sp" />

Java 代码:

SlantedTextView stv = (SlantedTextView) findViewById(R.id.test);

stv.setText("PHP")
        .setTextColor(Color.WHITE)
        .setSlantedBackgroundColor(Color.BLACK)
        .setTextSize(18)
        .setSlantedLength(50)
        .setMode(SlantedTextView.MODE_LEFT);

在此处输入图像描述

如果您想要类似的东西,那么我已经在 drawable 中编写了一些代码。也许它可以帮助你

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

        <rotate android:fromDegrees="10">

            <shape android:shape="rectangle">
                <size
                    android:width="200dp"
                    android:height="200dp" />
                <gradient
                    android:endColor="#ecf566"
                    android:startColor="#00000000" />
                <stroke
                    android:width="2dp"
                    android:color="#1414d2" />
            </shape>
        </rotate>
    </item>
</layer-list>

在此处输入图像描述


推荐阅读