1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | package org.androidtown.ui.bitmap.selector; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.widget.Button; import android.widget.Toast; /** * 비트맵 Selector를 이용해 비트맵 버튼을 만드는 방법을 알 수 있습니다. * * @author Mike */ public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 타이틀 부분 없애기 requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); // 버튼 이벤트 처리 Button arrowLeftBtn = (Button)findViewById(R.id.arrowLeftBtn); arrowLeftBtn.setOnClickListener(new OnClickListener() { public void onClick(View v) { Toast.makeText(getApplicationContext(), "버튼이 눌렸어요.", Toast.LENGTH_SHORT).show(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/arrowLeftBtn" android:layout_width="92dp" android:layout_height="92dp" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:background="@drawable/button_selector" /> </RelativeLayout> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/arrow_left_clicked" /> <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/arrow_left_clicked" /> <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/arrow_left_clicked" /> <item android:drawable="@drawable/arrow_left_normal" /> </selector> |
레이아웃에서 drawable에서 선언한 button_select를 해당 뷰로 불러오면 buton_select에서 정의한대로 그림이 나온다. 이미지 버튼이 클릭했을때와 클릭하지 않았을때 이미지를 한번에 정의할 수 있다.