如何设置按钮有图像和阴影?

时间:2017-08-01 06:56:00

标签: android android-layout android-button

要制作阴影,请制作阴影xml文件并使用android:background="@drawable/shadow"。 但是put图像也是android:background="@drawable/image

如何在一个按钮中设置按钮阴影和图像?

对不起,我的英语不流利。

3 个答案:

答案 0 :(得分:2)

<强> 1。使用ImageButton

尝试此操作即可使用ImageButton: - 显示一个按钮,其中包含可由用户按下或单击的图像(而不是文本)。默认情况下,ImageButton看起来像常规Button,标准按钮背景在不同按钮状态下改变颜色。

 <ImageButton
  android:id="@+id/btnMain"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:adjustViewBounds="true"
  android:contentDescription="@string/btnMain_description"
  android:elevation="10dp"
  android:background="@android:drawable/dialog_holo_light_fram‌​e"
  android:scaleType="centerInside"
  android:src="@drawable/IMage"
 />

<强> 2。用户CardVirew 或者您可以尝试在此button内添加card view

编译此依赖项

compile 'com.android.support:cardview-v7:25.3.1'

这样的布局

    <android.support.v7.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:cardElevation="10dp">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/disha"
        android:text="@string/app_name" />
</android.support.v7.widget.CardView>

如果有任何疑问,请询问我

答案 1 :(得分:1)

使用CardView来实现这一目标:

将支持库添加到dependencies,如下所示:

dependencies {
compile 'com.android.support:cardview-v7:25.2.0'//Add respective version
  }

在布局中使用它

 <android.support.v7.widget.CardView
                xmlns:card_view="http://schemas.android.com/apk/res-auto"
                android:id="@+id/card_view"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/user_image"
                app:cardBackgroundColor="@android:color/white"
                android:foreground="?android:attr/selectableItemBackground"
                android:layout_marginLeft="@dimen/activity_horizontal_margin"
                android:layout_marginRight="@dimen/activity_horizontal_margin"
                android:layout_marginTop="@dimen/padding_small"
                android:layout_marginBottom="@dimen/padding_small"
                app:cardCornerRadius="4dp"
                app:cardElevation="10dp" > 

如果有帮助,请现在就告诉我。

答案 2 :(得分:1)

在res / drawable中创建button_selector.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item android:right="5dp" android:top="5dp">
                <shape>
                    <corners android:radius="3dp" />
                    <solid android:color="#D6D6D6" />
                </shape>
            </item>
            <item android:bottom="2dp" android:left="2dp">
                <shape>
                    <gradient android:angle="270" 
                        android:endColor="#E2E2E2" android:startColor="#BABABA" />
                    <stroke android:width="1dp" android:color="#BABABA" />
                    <corners android:radius="4dp" />
                    <padding android:bottom="10dp" android:left="10dp" 
                        android:right="10dp" android:top="10dp" />
                </shape>
            </item>
        </layer-list>
    </item>

    </selector>

在你的xml布局中:

 <ImageButton
            android:src="@mipmap/ic_launcher"
            android:background="@drawable/shadow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:elevation="10dp"/>