2012-09-10 8 views
1

Android 애플리케이션에서 텍스트 (왼쪽 정렬), 이미지 및 다른 텍스트 (오른쪽 정렬)로 구성된 버튼을 설정하고 싶습니다.텍스트와 이미지가있는 Android 버튼

Button should look like this

텍스트 1, 텍스트 2와 이미지 코드로부터 사용자 정의해야합니다.

저는 Android 개발에서 멍청한 놈입니다. Text1과 Text2가 TextView로 정의되어야하고 이미지가 ImageView로 정의되어야한다고 생각할 수 있습니다. 그러나 Button이 ViewGroup이 아니기 때문에 버튼에 자식으로 설정할 수 없습니다.

xml 레이아웃 파일에 어떻게 지정합니까?

+1

버튼이어야합니까? 왜 그것을 단지 'layout'으로 정의하고 onClick listener를 전체 레이아웃으로 설정해야합니까? –

+0

이 경우에는 터치시 자동 상태 변경을 선호하지 않습니다 (onClick은 언 터치 만 제공되기 때문에). 또는 Button 기능을 복제하는 코드를 작성해야합니다. – Nick

+0

그러나 내가 언급 한 안드로이드 놈입니다. 안드로이드 SDK가 가장 훌륭하지 않다고 들었습니다 ... 버튼이 될 수 없다면, 감사의 말을 잘 들어 줄 것입니다. – Nick

답변

1

그래, 쉽다. 이 모든 구성 요소를 하나의 상대적 레이아웃에 배치하십시오. 그런 다음이를 따르

RelativeLayout rl= (RelativeLayout) findViewById(R.layout.relative_layout_id); 
rl.setOnClickListener(this); 
rl.setOnTouchListener(this); 
rl.setOnDragListener(this); 

방법 TouchListener, 당신은 매개 변수로보기를 얻을 것이다. 그래서 당신은,의 OnClick 메서드에서

switch(viewObj.getId() 
{ 
    case R.layout.relative_layout_id : 
      //write your logic here 
    break; 
] 

를 사용하여 뷰의 ID를 얻을 수 귀하의 논리를 작성, 그래서 당신이 수행 이제까지 어디 onclick() 방법을 실행하는 것 상대적 레이아웃을 클릭합니다.

+0

당신이 이것을 유용하다고 생각한다면, 나에게 답을 주신 것을 잊지 마십시오. – RajeshVijayakumar

+0

나는 단추 (또는 레이아웃)가 시각적으로 사용자의 터치에 반응하도록하고 싶습니다. 그러므로 나는 setOnTouchListener와 setOnDragListener 또는 무엇이든 필요가있다. 즉, 기존 Button 기능을 복제하는 많은 코드를 작성해야합니다. 그리고 나는 그것이 멋지다는 것을 확신하지 못한다. – Nick

관련 문제