繁体   English   中英

Java.xml 创建可绘制按钮背景

[英]Java .xml creating a drawable button background

编程新手,3 周初学者。 我正在通过可绘制的 xml 制作一个带有堆叠矩形的按钮。

这是我的按钮。xml 代码,非常简单:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#D5A04F"
    tools:context=".MainActivity">


    <android.support.design.widget.NavigationView
        <Button
            android:id="@+id/leftnavbar"
            android:layout_width="212dp"
            android:layout_height="279dp"

            android:layout_marginTop="16sp"
            android:layout_marginBottom="500sp"
            android:background="@drawable/rounded_rectangle"
             />
    </android.support.design.widget.NavigationView>


</android.support.constraint.ConstraintLayout>

这是我的drawable.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:paddingBottom="@dimen/mr_dialog_fixed_width_minor"
    android:paddingTop="@dimen/mr_dialog_fixed_width_major"
    >

    <item
        android:top="5sp"
        android:left="5sp"
        android:right="5sp"
        android:bottom="50sp">
        <shape android:shape="rectangle">
            <solid android:color="#D3AE71" />
            <corners android:radius="20sp"/>
        </shape>
    </item>


    <item
        android:top="30sp"
        android:left="30sp"
        android:right="30sp"
        android:bottom="600sp">s
            <shape android:shape="rectangle">
                <solid android:color="#E6E5E5" />
                <corners android:radius="20sp"/>
            </shape>
    </item>

    <item
        android:top="160sp"
        android:left="30sp"
        android:right="30sp"
        android:bottom="470sp">
        <shape android:shape="rectangle">
            <solid android:color="#E6E5E5" />
            <corners android:radius="20sp"/>
        </shape>
    </item>

    <item
        android:top="290sp"
        android:left="30sp"
        android:right="30sp"
        android:bottom="340sp">
        <shape android:shape="rectangle">
            <solid android:color="#E6E5E5" />
            <corners android:radius="20sp"/>
        </shape>
    </item>

    <item
        android:top="420sp"
        android:left="30sp"
        android:right="30sp"
        android:bottom="210sp"
        >
        <shape android:shape="rectangle">
            <solid android:color="#E6E5E5" />
            <corners android:radius="20sp"/>
        </shape>
    </item>

    <item
        android:top="550sp"
        android:left="30sp"
        android:right="30sp"
        android:bottom="80sp">
        <shape android:shape="rectangle">
            <solid android:color="#E6E5E5" />
            <corners android:radius="20sp"/>
        </shape>
    </item>
</layer-list>

drawable 中显示的唯一项目是第一个,矩形的 rest 无法显示。 对原因的建议或指示将不胜感激。 感谢您的时间和关注...

首先,请不要将“sp”用于文本字体大小以外的内容。

其次,请查看您的android:bottom的尺寸过大,例如600sp - 它们没有为各自的形状留下空间。

您的按钮高度太短,将 android:layout_height="279dp" 更改为 android:layout_height="700dp"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM