Лучший способ создать тень - это использовать 9patch
изображение в качестве фона представления (или ViewGroup
, который окружает представление).
Первый шаг - создать pngизображение с тенью вокруг него.Я использовал фотошоп, чтобы создать такое изображение.Это действительно просто.
- Создайте новое изображение с помощью Photoshop.
- Добавьте слой и создайте черный квадрат 4x4.
- Создайте тень на слое с помощьювыбрав слой в проводнике слоев и нажав кнопку с названием fx и выбрав тень.
- Экспортируйте изображение в формате png.
Следующим шагом является создание 9-патчей для рисования изэто изображение.
- Открыть
draw9patch
из android-sdk/tools
- Открыть изображение в
draw9patch
- Создать 4 черные линии на четырех сторонах квадратакак показано ниже, а затем сохраните изображение как
shadow.9.png
.
Теперь вы можете добавить эту тень в качестве фона видов, к которым вы хотите добавить тень.Добавьте shadow.9.png
к res/drawables
.Теперь добавьте его в качестве фона:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/shadow"
android:paddingBottom="5px"
android:paddingLeft="6px"
android:paddingRight="5px"
android:paddingTop="5px"
>
Я недавно написал сообщение в блоге , в котором это подробно объясняется и включает изображение из 9 патчей, которое я использую для создания тени.