안드로이드 스튜디오
Button 버튼(view)에 그림자오류 입체감주기 #안드로이드 스튜디오 (그림자가 안보여요)
담디비
2020. 7. 29. 19:12
< shadow doesn't working > <not showing shadow>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:id="@+id/main"
android:clipToPadding="false">
<Button
android:layout_margin="50dp"
android:id="@+id/btr"
android:background="@color/black"
android:layout_width="100dp"
android:layout_height="100dp"
android:elevation="30dp"
></Button>
elevation에 크기만 주면 음영이 생길줄 알았는데 안생긴다 .. oh god
에러 없는게 더 무섭다
stackoverflow 결과 elevation 이 적용이 되려면
몇가지 조건이 있댄다
1. 그림자가 생길 충분한공간이 있어야 한다는것
-padding이나 margin으로 그림자가 생길 여백을 만들어주자 (여백보다 elevation이 크면 안돼용)
2.background에 색깔이 있어야 한다는것!
- imageView 라도 백그라운드를 지정해줘야 그림자가 생깁니다
지정해줍시다!
근데 나는 이 조건에 해당이 안되는데도 계속 elevation이 적용이 안되었다 ㅠㅠㅠ
<Button
android:layout_margin="100dp"
android:id="@+id/btr"
android:background="#ffffff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button"
app:elevation="10dp"
android:translationZ="10dp"
android:stateListAnimator="@null"
></Button>
엄청난 구글링을 통해 찾아낸
StackOverflow고수들의 해결법
1.부모레이아웃에에 Cliptopadding=false 를 줘서 뷰간섭을 안받게하여 그림자가 생길수 있도록 하자
2.traslation z =""를 사용하여 z축을 이동시키기
3.stateListAnimator="@null"
4.z축 이동시키는 자바코드 짜버리기 (이거 할 생각까지 했었다 ㄹㅇ )
다해봤는데 안되어서 서얼마~ 하고 색깔을 #ffffff 로 변경해봤는데
적용이 되었따 ;;
HOLLY ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ