2

我刚刚开始使用材料设计并且遇到了问题。该应用程序很简单,它有一个 + 和 - 按钮来提升正方形以增加其阴影。但我无法使用按钮(升高和降低)来提升和投射阴影。

截屏:

在此处输入图像描述

以下是相关的代码块:

活动主.xml:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/container_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <include
            android:id="@+id/toolbar"
            layout="@layout/toolbar" />
    </LinearLayout>

    <FrameLayout
        android:id="@+id/container_body"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_marginTop="30dp"
        android:layout_weight="1" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:orientation="horizontal">

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="-"
                android:width="75dp"
                android:height="50dp"
                android:textSize="20sp"
                android:textColor="@color/textColorPrimaryLight"
                android:background="@drawable/button"
                android:id="@+id/decrease"
                android:elevation="50dp"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"
                android:id="@+id/label"
                android:textColor="@color/textColorPrimary"
                android:background="@color/colorAccentLight"
                android:textSize="20sp"
                android:padding="10dp"
                android:elevation="30dp"/>

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:width="75dp"
                android:height="50dp"
                android:text="+"
                android:textColor="@color/textColorPrimaryLight"
                android:textSize="20sp"
                android:background="@drawable/button"
                android:id="@+id/increase"
                android:elevation="50dp"/>

        </LinearLayout>

        <ImageView
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_marginBottom="90dp"
            android:elevation="0dp"
            android:background="@drawable/demo_sq"
            android:id="@+id/img"
            android:layout_gravity="center_horizontal|top" />
    </FrameLayout>

</LinearLayout>

<fragment
    android:id="@+id/fragment_navigation_drawer"
    android:layout_width="@dimen/nav_drawer_width"
    android:layout_height="match_parent"
    android:name="com.bkane56.grocerylist.FragmentDrawer"
    android:layout_gravity="start"
    app:layout="@layout/fragment_navigation_drawer"
    tools:layout="@layout/fragment_navigation_drawer" />

按钮.xml:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/button_pressed"/>
    <item android:drawable="@drawable/button_normal"/>
</selector>

button_normal.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android"

    android:shape="oval">
    <solid android:color="@color/colorPrimary" />

</shape>

button_pressed:

<shape xmlns:android="http://schemas.android.com/apk/res/android"

    android:shape="oval">
    <solid android:color="@color/colorAccentLight" />

</shape>

我也想对其产生连锁反应,但不确定如何。

任何帮助表示赞赏。

至少对于这项工作,它是 API 21+

4

0 回答 0