마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

버튼 안에 이미지를 넣고싶습니다.

0 추천
<Button
    android:layout_width="390dp"
    android:layout_height="45dp"
    android:layout_marginTop="10dp"
    android:layout_gravity="center"
    android:background="@drawable/mypagefrag_corner"
    android:paddingRight="260dp"

 

위와같이 버튼을 만들긴 했는데 혹시 그 안에 별도의 이미지를 추가해서

원하는대로 배치하는게 가능할까요??

 

BreadHead (240 포인트) 님이 2020년 9월 30일 질문
몇가지 방법이 있는데, 이미지의 크기나 위치를 마음대로 넣으시고 싶으면 @BreadHead님 말씀처럼 커스텀 버튼을 만드실 수도 있구요. 이 때는 커스텀 뷰로 만드셔서 사용하시는게 더 관리가 편할 겁니다.
두번째는 이미지가 텍스트의상하좌우로 국한되어도 좋다면 ImageButton을 쓰실 수 있구요. MaterialButton을 사용하시면다면 Button에 이미지를 올리실 수 있습니다.
그리고 Spannable 을 이용하여 Button.setText하실 때 text에 SpannableString를 전달하시는 방법이 있습니다. ImageSpan을 사용하시면 원하시는 효과를 얻으실 수 있어요. Imaghttps://developer.android.com/reference/android/text/style/ImageSpan
아마 내부적으로는 결국 같은 구현방법을 사용할 겁니다.

1개의 답변

0 추천
 
채택된 답변
기본적인 방법으로는 drawableStart, drawableTop 등의 속성을 이용해 양옆이나 위아래 이미지를 배치가 가능합니다.
이방법은 배치할수 있는 위치가 한정적이고 이미지의 크기를 조절하려면 이미지 자체 크기를 변경해야하는 단점이있어서
자유롭게 꾸미려면 그냥 레이아웃을 버튼이랑 비슷하게 만드시는게 나으실거에요
버닝 (4,880 포인트) 님이 2020년 9월 30일 답변
BreadHead님이 2020년 10월 1일 채택됨
답변 감사합니다! 연휴 잘보내세요
...