Я задаюсь вопросом, как добавить тень на тексте в андроиде?
У меня есть следующий код, который применяется на битовый массив, и я хотел быть затененным...
paint.setColor(Color.BLACK);
paint.setTextSize(55);
paint.setFakeBoldText(false);
paint.setShadowLayer(1, 0, 0, Color.BLACK); //This only shadows my whole view...
Вы должны быть в состоянии добавить стиль, как это (взято из исходного кода для Ringdroid):
<style name="AudioFileInfoOverlayText">
<item name="android:paddingLeft">4px</item>
<item name="android:paddingBottom">4px</item>
<item name="android:textColor">#ffffffff</item>
<item name="android:textSize">12sp</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">1</item>
</style>
И в вашем макете, используйте стиль, как это:
<TextView android:id="@+id/info"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="@style/AudioFileInfoOverlayText"
android:gravity="center" />
Редактировать: исходный код можно посмотреть здесь: https://github.com/google/ringdroid
Edit2: Чтобы установить этот стиль программно, вы сделаете что-то вроде этого (изменено из этого примера, чтобы соответствовать ресурсам ringdroid сверху)
TextView infoTextView = (TextView) findViewById(R.id.info);
infoTextView.setTextAppearance(getApplicationContext(),
R.style.AudioFileInfoOverlayText);
Подпись для setTextAppearance
следующая
public void setTextAppearance (Context context, int resid)
Since: API Level 1
Устанавливает цвет текста, размер, стиль, цвет подсказки и цвет выделения из указанного ресурса TextAppearance.
Нарисуйте 2 текста: один серый (это будет тень) и поверх него нарисуйте второй текст (координата y на 1 пиксель больше, чем текст тени).