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

안드로이드 버튼 pressed 효과 관련해서 질문좀 하겠습니다.

0 추천
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="@dimen/dimen_popup_button_height"
        android:background=..
        android:baselineAligned=..
        android:orientation="horizontal" >
 
        <Button
            android:id=..
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft=..
            android:layout_weight="1"
            android:drawableLeft="@drawable/selector_popup_call_button_bg"
            android:gravity=..
            android:onClick=..
            android:text=../>
 
위의 코드와 같이 horizontal linearlayout 안에 버튼이 위치해있습니다.
 
실제로는 버튼 두개가 반반씩 있구요
 
버튼에 이미지를 배경으로 넣은게아니라 drawableLeft를 써서 텍스트 왼쪽에 그림을 배치하고 텍스트를 써줬어요.
 
 weight 를 1씩 배치했기 때문에 레이아웃 반반에 영억을 꽉 잡고있거든요..
 
그리고 버튼은 눌렸을때랑 안눌렸을 때 각각 selector를 이용해서 설정해줬구요
 
여기서 제가 궁금한건요..
 
두가지인데요
 
첫번째는 버튼을 눌렀을 때 버튼이 차지하는 만큼의 영역이 전체적으로 색깔이 들어갔으면 좋겠는데 어찌해야할지 모르겠습니다.. 
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
'        img 텍스트         '
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
 
이런식으로 돼있기땜에 이미지는 일정 크기가 있어요..
제가 배경에 이미지랑 텍스트까지 포함된 통이미지를 사용할까도 생각햇는데
해상도에 따라 텍스트와 이미지가 일그러질 수 있겠더라구요 그래서 이미지만 따로 따서 사용했습니다.
 
저 ''으로 된 영역안에 css에 hover 효과처럼 색상을 넣고싶어요..
 
두번째는 drawableLeft 를 사용하여 텍스트왼쪽에 이미지를 배치시켯는데
image와 text 사이에 간격을 조정할 수 있는 방법을 알고싶습니다
 
다시말씀드리지만..전화모양과 사람모양 저것만 딱 이미지입니다..전체이미지이면
제가 셀렉터를 사용하면 되겠는데 그림이 일그러지는 현상이 보여서..
 
저 네모난부분이 색이 변하게 하고싶습니다..

 

윤둥이 (4,560 포인트) 님이 2013년 12월 18일 질문
윤둥이님이 2013년 12월 18일 수정

1개의 답변

0 추천
첫 번째 질문은 selector를 사용하여 버튼을 눌렀을 때와 놓았을 때 배경이미지를 지정하면 될 것 같은데요.

 

두번째 질문에 답변을 드리자면 drawablePadding이라는 속성을 이용하여 이미지와 텍스트간의 간격을 조정할 수 있습니다.

 

예제를 만들었습니다. selector에서 배경으로 이미지가 아니라 색상을 지정했습니다. res/values/colors.xml 파일에 색상값이 들어 있습니다.

 

필요하시면 참고하세요^^

http://blog.naver.com/goodsogi/40202888893
방귀과장 (18,940 포인트) 님이 2013년 12월 18일 답변
...