버튼에 대한 상태를 생각해봅시다.
여러가지의 상태가 있는데 그 여러 상태에 대해서 버튼에 다른이미지를 보여줄 수 있습니다.
버튼의 상태
default | 아무것도 아닌 상태 |
pressed | 누르고 있는 상태 |
focused | 누르고 있진 않았지만 포커스가 주어진 상태 |
selected | 선택된 상태 |
이렇게 네가지의 상태가 있습니다.
이 네가지 상태에 대해서 각각 다른 이미지를 보여주기 위해서는 네가지의 이미지가 있어야 합니다.
저는 보통 3가지의 이미지를 두고,
default, pressed, focused 또는
default, pressed, selected 에 사용합니다.
이미지 파일을 준비합니다.
이미지들은 res 소스에 넣어 줍시다.
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/btn_press" /> <!-- pressed --> <item android:state_selected="true" android:drawable="@drawable/btn_select" /> <!-- selected --> <item android:drawable="@drawable/btn_default" /> <!-- default --> </selector>
<ImageButton android:id="@+id/main_btn_change" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_change" />
package com.button; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; public class ButtonActivity extends Activity implements OnClickListener { ImageButton btn_change; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn_change = (ImageButton)findViewById(R.id.main_btn_change); btn_change.setOnClickListener(this); } @Override public void onClick(View v) { switch(v.getId()) { case R.id.main_btn_change : btn_change.setSelected(true); break; } } }
'Android > 기본' 카테고리의 다른 글
ToggleButton이 ON/OFF 될 때 버튼의 이미지를 변경하는 예제 (0) | 2012.05.15 |
---|---|
Eclipse Phone test (0) | 2012.05.14 |
Android 9 patch (0) | 2012.05.14 |
예비 (0) | 2012.04.28 |
Android 메인로딩 페이지 만들기 (0) | 2012.04.28 |