- Главная
- Форум
- Программирование
- Программирование под Android
- Программируем на смартфоне » Страница 166
Программируем на смартфоне » Страница 166
-Программирование под Android
Я б удалил, но поломается логика след. постов)
Не могу врубиться, как Дэйв реализовал кастомный button с тенью. Вот у него сама кнопка в ненажатом состоянии в res/drawable, xml файл список слоев:
<layer-list xmlns:android="https://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/drop" android:left="0.0dip" android:top="0.0dip" />
<item android:left="0.0dip" android:top="0.0dip">
<shape>
<gradient android:startColor="#ff4285f4" android:endColor="#ff4285f4" android:angle="270.0" />
<stroke android:width="0.0dip" android:color="#ffbababa" />
<corners android:radius="4.0dip" />
</shape>
</item>
</layer-list>
Мы видим, что сперва берется изображение drop.9.png, поверх него уже рисуется сама кнопка. drop.9.png - это тень, 9-патч. изображение с зонами растяжения и областью размещения содержимого. Очевидно, что для каждого формата экрана должно быть свое изображение drop.9 соответствующего размера, раскиданное по папкам drawable_xhdpi, ..., итд. Но у него оно только одно. Значит, эту область размещения внутри 9-патч изображения он задает где-то в коде. А вот как, хз, не могу нагуглить, может кто сталкивался?
Вот тут о тенях для 4.0 андроида
https://www.google.com/url?sa=t&source=web&rct=j&url=https://qaru.site/questions/93002/how-to-provide-shadow-to-button&ved=2ahUKEwio0Zj3_6XhAhVKcZoKHSmlC0gQFjACegQIBxAR&usg=AOvVaw1gPaLx57MOw5_72AWy27YU&cshid=1553816459651
-------------
добавлено в 02.48: В конце прямо написано про 9 патч этот и где задать его в коде
мда, хоть на чем пиши, без разницы, основное время уходит на организацию логики кода. Ну и плюс если опыта мало, то как у меня - два вечера не мог победить странное поведение recyclerView. Все три списка до него ведут себя норм., а этот проматывается в начало при обновлении верхнего пункта. Ниче толком не нашел, пока не заметил, что такое-же поведение вызывается появлением диалога с вызовом клавиатуры. Тут уже врубился и задействовал в поиске термин focus. Нашел способ как устранить лаг, но причину такого поведения так и не понял.
- «
- 1
- 2
- --
- 165
- 166
- 167
- --
- 206
- 207
- »