Android:如何在右上角的按钮角添加三角形

标签 android layout

我想在布局的右上角做一个带有三角形的按钮:

enter image description here

我已经在没有这个三角形的情况下开始了这个布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="48dp"
     android:gravity="center_vertical"
     android:paddingLeft="@dimen/keyline_1"
     android:paddingRight="@dimen/keyline_2">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@color/grey"
    android:text="DESCRIPTION"/>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_alignParentRight="true">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingRight="@dimen/keyline_4"
        android:textColor="@color/grey"
        android:text="info"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/grey"
        android:text="TITLE"/>

</LinearLayout>

</RelativeLayout>

最佳答案

使用下面的代码创建三角形并使其成为 TextView 背景

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <rotate
            android:fromDegrees="-45"
            android:toDegrees="45"
            android:pivotX="0%"
            android:pivotY="1%" >
            <shape android:shape="rectangle" >
                <stroke
                    android:width="10dp"
                    android:color="#00000000" />

                <solid android:color="#00ACED" />
            </shape>
        </rotate>
    </item>
 </layer-list>

并使用下面的代码来旋转 TextView

<TextView
                android:id="@+id/won_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:paddingTop="20dp"
                android:rotation="-45"
                android:text="@string/won"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="@android:color/white"
                android:textSize="34sp" />

更多细节引用How to make custom textview in android?

关于Android:如何在右上角的按钮角添加三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35079966/

相关文章:

node.js - Express 3.x 最佳布局实现(模板引擎)

android - 将基于C的linux应用程序移植到Android平台

android - WMS On Android 磁贴加载问题

layout - 移植 webkit 布局引擎

css - 我的设备分辨率为 720px,但在浏览器中宽度为 360px

html - : A fluid-width parent element, 如何用固定宽度和流动宽度的子元素来实现?

Android Rx 去抖运算符

java - Android Studio更新SDK 26后无法实例化一个或多个类

android - 在 android 中设置 actionbar 的样式

android - ScrollView 内部的 FrameLayout