다음을 통해 공유


사용자 지정 단추

이 섹션에서는 위젯과 다른 단추 상태에 사용할 세 가지 이미지를 정의하는 XML 파일을 사용하여 Button 텍스트 대신 사용자 지정 이미지가 있는 단추를 만듭니다. 단추를 누르면 짧은 메시지가 표시됩니다.

아래 세 이미지를 마우스 오른쪽 단추로 클릭하고 다운로드한 다음 프로젝트의 Resources/drawable 디렉터리에 복사합니다. 이는 서로 다른 단추 상태에 사용됩니다.

Green Android icon for normal stateOrange Android icon for focused stateYellow Android icon for pressed state

android_button.xml 리소스/그리기 가능한 디렉터리에 새 파일을 만듭니다. 다음 XML을 삽입합니다.

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/android_pressed"
          android:state_pressed="true" />
    <item android:drawable="@drawable/android_focused"
          android:state_focused="true" />
    <item android:drawable="@drawable/android_normal" />
</selector>

이렇게 하면 단추의 현재 상태에 따라 이미지를 변경하는 단일 그리기 가능한 리소스가 정의됩니다. 첫 번째는 <item> 단추를 누를 때(활성화됨) 이미지로 android_pressed.png 정의하고, 두 번째는 <item> 단추가 포커스가 있을 때(트랙볼 또는 방향 패드를 사용하여 단추가 강조 표시될 때) android_focused.png 이미지로 정의하고, 세 번째는 <item> android_normal.png 정상 상태(누르거나 포커스가 없는 경우)로 정의합니다. 이제 이 XML 파일은 단일 그리기 가능한 리소스를 나타내며, 배경에 대해 참조할 Button 때 표시되는 이미지는 이러한 세 가지 상태에 따라 변경됩니다.

참고 항목

요소의 순서가 <item> 중요합니다. 이 그리기 가능 항목이 참조 <item>되면 현재 단추 상태에 적합한 항목이 무엇인지 확인하기 위해 s가 트래버스됩니다. "normal" 이미지는 마지막이므로 조건이 android:state_pressedandroid:state_focused 모두 false로 평가된 경우에만 적용됩니다.

Resources/layout/Main.axml 파일을 열고 요소를 추가 Button 합니다.

<Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:background="@drawable/android_button" />

이 특성은 android:background 단추 배경에 사용할 그리기 가능한 리소스를 지정합니다(Resources/drawable/android.xml 저장될 때 참조됨@drawable/android). 이렇게 하면 시스템 전체의 단추에 사용되는 일반 배경 이미지가 바뀝니다. 그리기 가능 개체가 단추 상태에 따라 이미지를 변경하려면 이미지를 배경에 적용해야 합니다.

단추가 누를 때 작업을 수행하도록 하려면 다음 코드를 끝에 추가합니다. OnCreate() 메서드:

Button button = FindViewById<Button>(Resource.Id.button);

button.Click += (o, e) => {
    Toast.MakeText (this, "Beep Boop", ToastLength.Short).Show ();
};

그러면 레이아웃에서 Button 캡처한 다음 클릭할 때 Button 표시할 메시지를 추가합니다Toast.

이제 애플리케이션을 실행합니다.

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에따라 사용되는 작업을 기반으로 하는 수정 사항입니다.