📅  最后修改于: 2023-12-03 15:38:12.570000             🧑  作者: Mango
在 Android 中,我们可以使用按钮控件来创建一个按钮。在某些情况下,我们可能需要在按钮内显示一个图片或图标。为了实现这个目标,我们可以使用 Drawable 对象,并将其设置为按钮的背景或前景。
我们可以使用以下步骤将 Drawable 设置为按钮的背景:
下面是一个示例代码片段,它演示了如何将一个 ShapeDrawable 设置为按钮的背景:
// 创建一个 ShapeDrawable 对象
ShapeDrawable shapeDrawable = new ShapeDrawable(new OvalShape());
shapeDrawable.getPaint().setColor(Color.BLUE);
// 从布局文件中获取按钮控件
Button button = findViewById(R.id.button);
// 将 ShapeDrawable 对象设置为按钮的背景
button.setBackgroundDrawable(shapeDrawable);
在这个示例中,我们使用 ShapeDrawable 创建了一个蓝色的圆形背景,并将它设置为按钮的背景。在实际应用中,我们可以使用不同种类的 Drawable 对象,来创建不同样式的按钮背景。
除了设置 Drawable 为按钮的背景之外,我们还可以将 Drawable 设置为按钮的前景,这样它会覆盖按钮上的文本。我们可以使用以下步骤将 Drawable 设置为按钮的前景:
下面是一个示例代码片段,它演示了如何将一个 BitmapDrawable 设置为按钮的前景:
// 从资源文件中加载一个图片
Drawable iconDrawable = getResources().getDrawable(R.drawable.icon);
// 从布局文件中获取按钮控件
Button button = findViewById(R.id.button);
// 将 BitmapDrawable 对象设置为按钮的前景,并调整显示位置
button.setCompoundDrawablesWithIntrinsicBounds(iconDrawable, null, null, null);
button.setCompoundDrawablePadding(10);
在这个示例中,我们从资源文件中加载了一个图片,并将其设置为按钮的前景。我们还使用了 setCompoundDrawablesWithIntrinsicBounds() 方法,将图片设置在按钮的左侧,并设置了一个 10 像素的深度。
使用 Drawable 对象可以为 Android 应用程序中的按钮添加图片或图标。我们可以将 Drawable 对象设置为按钮的背景或前景。要将 Drawable 设置为按钮的背景,我们使用 setBackgroundDrawable() 方法。要将 Drawable 设置为按钮的前景,我们使用 setCompoundDrawables() 方法,并在其中指定 Drawable 对象的位置和偏移量。