사용자 지정 단추
이 섹션에서는 위젯과 다른 단추 상태에 사용할 세 가지 이미지를 정의하는 XML 파일을 사용하여 Button
텍스트 대신 사용자 지정 이미지가 있는 단추를 만듭니다. 단추를 누르면 짧은 메시지가 표시됩니다.
아래 세 이미지를 마우스 오른쪽 단추로 클릭하고 다운로드한 다음 프로젝트의 Resources/drawable 디렉터리에 복사합니다. 이는 서로 다른 단추 상태에 사용됩니다.
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_pressed
android: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 특성 라이선스에 설명된 용어에따라 사용되는 작업을 기반으로 하는 수정 사항입니다.