Presentation is loading. Please wait.

Presentation is loading. Please wait.

8-3. 버튼 천안천일고등학교 류빈. 1. 가장 기본적인 위젯인 TextView 를 통해 위젯의 일반 적인 특징과 프로그래밍 방법을 상세하게 연구해보고 버튼의 사용 방법을 익힌다. 학습목표 1. 리소스 2. 텍스트 뷰 3. 버튼 학습내용 2.

Similar presentations


Presentation on theme: "8-3. 버튼 천안천일고등학교 류빈. 1. 가장 기본적인 위젯인 TextView 를 통해 위젯의 일반 적인 특징과 프로그래밍 방법을 상세하게 연구해보고 버튼의 사용 방법을 익힌다. 학습목표 1. 리소스 2. 텍스트 뷰 3. 버튼 학습내용 2."— Presentation transcript:

1 8-3. 버튼 천안천일고등학교 류빈

2 1. 가장 기본적인 위젯인 TextView 를 통해 위젯의 일반 적인 특징과 프로그래밍 방법을 상세하게 연구해보고 버튼의 사용 방법을 익힌다. 학습목표 1. 리소스 2. 텍스트 뷰 3. 버튼 학습내용 2

3 3

4 4 C08_noninepatch.xml

5 5 나인 패치  나인 패치는 아홉 조각의 천을 잘라 하나의 무늬를 만드는 이불 제작 기겁 의 하나로 디지털 이미지에서 원리를 응용한 것이다.  나인 패치 이미지는 PNG 포맷이며. 9.png 를 지정하여 일반적인 이미지와 구분한다.  나인 패치는 이미지의 원래 모양 외에 바깥쪽에 1 픽셀 너비의 투명한 영역 을 추가로 가지며, 영역에 검정색 점을 찍어 확장 및 텍스트 배치 영역에 대 한 정보를 기록한다. 세로 내용물 영역 세로 확장 영역 가로 확장 영역 가로 내용물 영역

6 6  안드로이드에 포함된 draw9patch 유틸리티 사용. tools 디렉토리에 draw9patch.bat 파일을 실행하거나 tools/lib 폴더의 draw9patch.jar 파일을 바로 실행.

7 7 바깥쪽 테두리 1px 에 점을 찍거나 지운다.

8 8 마우스 왼쪽은 칠하게 되고 오른쪽은 지우게 된다.

9 9 C08_ninepatch.xml

10 10 public class Button extends TextView { public Button(Context context) { this(context, null); } public Button(Context context, AttributeSet attrs) { this(context, attrs, com.android.internal.R.attr.buttonStyle); } public Button(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } 안드로이드 표준 버튼은 처음은 회색, 클릭하면 주황색, 포커스가 있으면 빨간색, 사용금지이면 회색 버튼은 스타일만 다른 텍스트 뷰이며 스타일은 결국 속성의 집합이므로 속성만 다른 텍스트 뷰이다.

11 11 res/drawable/arrowback.xml 속성설명 state_active 활성 상태 state_checkable 체크 가능한 상태 state_checked 체크된 상태 state_enabled 사용 가능한 상태 state_focused 포커스를 받은 상태 state_pressed 눌려진 상태 state_selected 선택된 상태 state_window_focused 윈도우가 포커스를 가진 상태

12 12 c08_arrowbutton.xml c08_arrowbutton.java public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void mOnClick(View v) { switch (v.getId()) { case R.id.arrow1: Toast.makeText(this, "Arrow1 clicked", 0).show(); break; case R.id.arrow2: Toast.makeText(this, "Arrow2 clicked", 0).show(); break; case R.id.arrow3: Toast.makeText(this, "Arrow3 clicked", 0).show(); break; }

13 13 Button CompoundButton CheckBoxRadioButtonToggleButton

14 14

15 15 c08_radiocheck.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <CheckBox android:id="@+id/BigFont" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Use Big Font" /> <RadioGroup android:id="@+id/ColorGroup" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:checkedButton="@+id/Red" > <RadioButton android:id="@id/Red" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Red" /> <RadioButton android:id="@+id/Green" android:layout_width="fill_parent" c08_radiocheck.xml android:layout_height="wrap_content" android:text="Green" /> <RadioButton android:id="@+id/Blue" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Blue" /> <ToggleButton android:id="@+id/MyToggle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ff0000" android:textOn=" 선택 " android:textOff=" 안선택 " android:textSize="20px" />

16 16 c08_radiocheck.java public class MainActivity extends Activity { private ToggleButton mTogBtn; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTogBtn = (ToggleButton)findViewById(R.id.MyToggle); RadioGroup ColGroup = (RadioGroup)findViewById(R.id.ColorGroup); ColGroup.setOnCheckedChangeListener(mRadioCheck); CheckBox chkBig = (CheckBox)findViewById(R.id.BigFont); chkBig.setOnCheckedChangeListener(mCheckChange); } RadioGroup.OnCheckedChangeListener mRadioCheck = new RadioGroup.OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedId) { if (group.getId() == R.id.ColorGroup) { switch (checkedId) { case R.id.Red: mTogBtn.setTextColor(Color.RED); break; case R.id.Green: mTogBtn.setTextColor(Color.GREEN); break; case R.id.Blue: mTogBtn.setTextColor(Color.BLUE); break; }}}}; c08_radiocheck.java CompoundButton.OnCheckedChangeListener mCheckChange = new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged (CompoundButton buttonView, boolean isChecked) { if (buttonView.getId() == R.id.BigFont) { if (isChecked) { mTogBtn.setTextSize(40); } else { mTogBtn.setTextSize(20); }}}};}

17 17

18 C08_faketoast.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toastlayout" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/btnpurchase1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="mOnClick" android:text=" 최신형 노트북을 반값에 드립니다.\n 다시 오지 않을 절호 의 찬수 \n 이번 기회를 놓치지 마세요 \n 노트북을 받고 싶은 분은 \n 이 버 튼을 눌러주세요 \n 감사합니다." /> C08_filtertouch.xml 18 토스트나 대화 상자가 해당 액티비 티위에 떠 있는 동안 터치 입력을 무시한다.

19 C08_filtertouch.java public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void mOnClick(View v){ switch (v.getId()){ case R.id.btnad: Toast.makeText(this, " 광고를 보았습니다.", 1).show(); break; case R.id.btncard: Toast.makeText(this, " 물품 대금을 카드 결재합니다.", 1).show(); break; case R.id.calltoast: LinearLayout linear = (LinearLayout)View.inflate(this, R.layout.c08_faketoast, null); Toast fake = new Toast(this); fake.setGravity(Gravity.LEFT|Gravity.TOP, 0, 20); fake.setDuration(Toast.LENGTH_LONG); fake.show(); break; } 19


Download ppt "8-3. 버튼 천안천일고등학교 류빈. 1. 가장 기본적인 위젯인 TextView 를 통해 위젯의 일반 적인 특징과 프로그래밍 방법을 상세하게 연구해보고 버튼의 사용 방법을 익힌다. 학습목표 1. 리소스 2. 텍스트 뷰 3. 버튼 학습내용 2."

Similar presentations


Ads by Google