Невозможно настроить TextView shadow программно
Я создаю TextView динамически и устанавливаю тень на него с помощью метода, который вы отправили здесь: Android - тень на тексте?
Но это не сработает. Стиль применяется (поместите элемент textSize для проверки, и он работает), но тень не появляется.
TextView:
TextView tv = new TextView(this);
RelativeLayout.LayoutParams layoutPars = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layoutPars.addRule(RelativeLayout.CENTER_VERTICAL);
tv.setTextColor(0xffffffff);
tv.setText(label);
tv.setTextSize(11);
tv.setTextAppearance(getApplicationContext(), R.style.BlackShadow);
Стиль:
<style name="BlackShadow">
<item name="android:shadowColor">#ff000000</item>
<item name="android:shadowRadius">1</item>
<item name="android:shadowDx">-1</item>
<item name="android:shadowDy">-1</item>
<item name="android:textSize">26dip</item>
</style>
Что я делаю неправильно?
Ответы
Ответ 1
Попробуйте следующее:
tv.setShadowLayer(1.5f, -1, 1, Color.LTGRAY);
Из документации
setShadowLayer(float radius, float dx, float dy, int shadowColor)
Это рисует теневой слой ниже основного слоя, с указанным смещением и цветом, и радиусом размытия.
Для получения дополнительной информации, пожалуйста, проверьте http://developer.android.com/reference/android/graphics/Paint.html#setShadowLayer%28float,%20float,%20float,%20int%29