Java.xml创建一个可绘制的按钮背景。

问题描述 投票:0回答:1

新的编程,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>

这是我的可绘制的.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中,其余的矩形无法显示。

java android xml drawable layer-list
1个回答
0
投票

首先,请不要用 "sp "来表示文字以外的字体大小

其次,请检查一下你的字体大小是否过大。android:bottom譬如 600sp 比如说,它们没有给各自的形状留下空间,你的按钮高度太短了,把android:layout_height=279dp改为android:layout_height=700dp。


0
投票

你的按钮高度太短了,把android:layout_height="279dp "改为android:layout_height="700dp"

© www.soinside.com 2019 - 2024. All rights reserved.