如何在 android 中以编程方式获取文本阴影颜色?
How to get a Text's shadow color programatically in android?
我知道如何在 android 中为 editText 设置阴影:
editText.setShadowLayer(float radius, float dx, float dy, int color);
但我的问题是:如何在 android 中以编程方式获取文本的阴影颜色?
*
Of course I have to add that my minimum API level is 15.
*
感谢所有能回答这个问题的人
API等级>=16可以使用以下方法:
int shadowColor = editText.getShadowColor();
对于 API level < 16,似乎没有直接的方法来获取 EditText
.
的阴影颜色
遇到这种情况我会怎么做:
扩展EditText
,覆盖setShadowLayer()
并编写您自己的方法来获取阴影颜色:
public class CustomEditText extends EditText {
int shadowColor = 0;
public CustomEditText(Context context) {
super(context);
}
public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void setShadowLayer(float radius, float dx, float dy, int color) {
shadowColor = color;
super.setShadowLayer(radius, dx, dy, color);
}
public int getShadowLayerColor() {
return shadowColor;
}
}
然后在 code/layout 中使用 CustomEditText
而不是 EditText
并调用 getShadowLayerColor()
来获取阴影的颜色。
我知道如何在 android 中为 editText 设置阴影:
editText.setShadowLayer(float radius, float dx, float dy, int color);
但我的问题是:如何在 android 中以编程方式获取文本的阴影颜色?
*
Of course I have to add that my minimum API level is 15.
*
感谢所有能回答这个问题的人
API等级>=16可以使用以下方法:
int shadowColor = editText.getShadowColor();
对于 API level < 16,似乎没有直接的方法来获取 EditText
.
遇到这种情况我会怎么做:
扩展EditText
,覆盖setShadowLayer()
并编写您自己的方法来获取阴影颜色:
public class CustomEditText extends EditText {
int shadowColor = 0;
public CustomEditText(Context context) {
super(context);
}
public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void setShadowLayer(float radius, float dx, float dy, int color) {
shadowColor = color;
super.setShadowLayer(radius, dx, dy, color);
}
public int getShadowLayerColor() {
return shadowColor;
}
}
然后在 code/layout 中使用 CustomEditText
而不是 EditText
并调用 getShadowLayerColor()
来获取阴影的颜色。