如何在android中的按钮文本上添加阴影?

myr*_*egm 2 java android button

我有一个以 png 图像作为背景的按钮,我想为其文本添加阴影。

我尝试将此代码添加到 Activity_main.xml 中的按钮代码中:

android:shadowDy="20"
android:shadowDx="20"
android:shadowColor="#000"
android:shadowRadius="10"
Run Code Online (Sandbox Code Playgroud)

但不起作用。

Activity_mani.xml

<Button
    android:id="@+id/btnMarket"
    style="@style/ButtonTheme"
    fontPath="bkoodak.ttf"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginLeft="50dp"
    android:layout_marginRight="50dp"
    android:text="@string/btnMarket"
    android:textSize="40sp" />
Run Code Online (Sandbox Code Playgroud)

样式.xml

<style name="ButtonTheme" parent="@android:style/Widget.Button">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:textColor">#fff</item>
    <item name="android:textSize">15sp</item>
    <item name="android:padding">10dp</item>
    <item name="android:textStyle">bold</item>
    <item name="android:background">@drawable/btnbackground</item>
    <item name="android:gravity">center</item>
    <item name="android:layout_margin">3dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

是否可以为按钮的文本添加阴影?

Sey*_*dli 5

最简单的方法是

yourButton.setShadowLayer(24,4,4,Color.RED);

该方法的结构如下setShadowLayer(float radius, float dx, float dy, int color)

, dx 和 dy 是阴影的 x 和 y 偏移量