如何在android GradientDrawable中使用setStroke?

如何在android GradientDrawable中使用setStroke?,android,border,drawable,Android,Border,Drawable,我在尝试使用Android的GradientDrawable时遇到了一个奇怪的问题。 这是我当前的代码: GradientDrawable drawable = new GradientDrawable(); int _1dp = (int) getContext().getResources().getDisplayMetrics().density; drawable.setStroke(_1dp, borderColor); setBackground(drawable); 但除非我在上

我在尝试使用Android的
GradientDrawable
时遇到了一个奇怪的问题。 这是我当前的代码:

GradientDrawable drawable = new GradientDrawable();
int _1dp = (int) getContext().getResources().getDisplayMetrics().density;
drawable.setStroke(_1dp, borderColor);
setBackground(drawable);
但除非我在上面的末尾加上这个,否则它不会起作用:

setPadding(_1dp, _1dp, _1dp, _1dp);
我不明白为什么我需要在每一侧添加填充的
\u 1dp
,以便正确显示渐变

我错过了什么吗

谢谢