이미지 버튼은 사실상 버튼 위에 그냥 텍스트 대신 이미지를 넣은 방식인데요.
배경 버튼을 투명으로 바꾸다고 해도 그 투명 영역이 차지하는 공간은 남아있더라고요.
예를 들어서 하나의 메인 페이지가 있고
그 메인 페이지의 아무 부분이나 클릭하면 다음 화면으로 넘어간다는 것을 만들기 위해서
저는 한 화면을 가득 채운 이미지버튼으로 하려고 했습니다.
xml에는
<ImageButton
android:id="@+id/mainbutton"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/main"
android:background="#00000000"/>
이런식으로 이미지 버튼을 가득채워줬죠.
이렇게 했더니 이미지가 중앙에 차고 회색부분이 있어야할 부분이 투명처리되면서
검정색 부분이 되고 제 이미지가 가득차지 않더라고요.
이런 문제는 어떻게 해결해야 할까요?
우선 원하시는 기능은 레이아웃 자체에 클릭이벤트를 줘서 버튼없이 처리가 가능하실 거구요.
질문에서 회색이 나와야하는부분이 검정으로 나온다는게 무슨말인지 잘 모르겟네요.. 회색은 main 이미지의 색인가요?
그리고 이미지 버튼의 src속성을 이용해서 이미지를 넣게되면 기본적으로 padding이 적용되는 것으로 알고있습니다.
이미지 버튼이 아닌 그냥 버튼으로 하시고 background에 drawable을 셋팅하고 한번 해보세요.
그럼 버튼의 크기만큼 이미지가 늘어나서 꽉채워지게 됩니다.
아 구자춘님 감사합니다 ㅋㅋㅋㅋㅋ 저런 방법이 있네여...
이라슈님이 말씀하신 것도 좋은 방법이네요. 레이아웃 자체에 클릭이벤트를 줘도 되니..
어쨌든 어려운 문제가 아니었기에 그냥 어떤 게 있나 물어본건데 해결되었네여 감사합니다
android.view.View.OnclickListener이 있기때문에
왜 이이야기를 하느냐 하면..
안드로이드의 위젯들은 걍 다 그림입니다.
ImageButton은 Button을 상속받지 않았고 ImageView를 상속받았습니다.
지금 원하시는게 버튼위에 버튼느낌그대로 남긴채 이미지를 올리신다는것 같은데
ImageButton의 버튼도 그냥 그림이라고 보시면됩니다.
그래서 background를 지금 투명으로 주셨는데..
그러면 그 버튼그림이 사라지고 투명이 들어갑니다.
원하시는대로 하시려면 그냥 ImageView에다가 리스너를 넣으시면 깔끔하게 됩니다.
제가 생각하는 방법은 그냥 배경화면을 저 그림으로 가득채운이후에
투명한 버튼을화면 전체에 넣는 방법으로 하면 될 것 같긴합니다.
다만 그런 방법이 아닌 저 크기 자체를 조정하는 방법이 있나해서 질문합니다.