개발/안드로이드

[과제록] 제 2주차 OnClickListener

leanQ_mountain 2016. 6. 3. 16:16

OnClickListener를 이용한 버튼활용입니다.


우린 이론보다는 실습이죠 실습과제입니다.



[디코] OnClickListener 활용 동영상


위 링크로 유튜브 동영상을 볼 수 있습니다.




1. 사전준비 drawable


dw1.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--아래의 배치 순서를 기억하세요 눌렀을때=>원래 순서입니다. -->
<item android:state_pressed="true"><!-- 버튼을 누르는 동안 바뀌는 색상-->
<shape android:shape="rectangle">
<solid android:color="@color/mintGreen"/>
<stroke android:color="@color/lightYellow" android:width="2dp"/>
</shape>
</item>
<item>
<shape android:shape="rectangle"><!-- 버튼의 원래 색상-->
<solid android:color="@color/lightPurple"/>
<stroke android:color="@color/lightYellow" android:width="2dp"/>
</shape>
</item>
</selector>



dw2.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--아래의 배치 순서를 기억하세요 눌렀을때=>원래 순서입니다. -->
<item android:state_pressed="true"><!-- 버튼을 누르는 동안 바뀌는 색상-->
<shape android:shape="rectangle">
<solid android:color="@color/mintGreen"/>
<stroke android:color="@color/lightYellow" android:width="2dp"/>
</shape>
</item>
<item>
<shape android:shape="rectangle"><!-- 버튼의 원래 색상-->
<solid android:color="@color/lightYellow"/>
<stroke android:color="@color/lightYellow" android:width="2dp"/>
</shape>
</item>
</selector>



2. 레이아웃

layout_hw.xml



<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- Ctrl + Alt + L ==> 자동 줄바꿈 -->

<Button
android:id="@+id/secretButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="scretbutton" />

<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1">

<TextView
android:id="@+id/context1"
android:visibility="visible"
style="@style/context_TextView"
android:text="context1" />

<TextView
android:id="@+id/context2"
android:visibility="invisible"
style="@style/context_TextView"
android:text="context2" />

<TextView
android:id="@+id/context3"
android:visibility="invisible"
style="@style/context_TextView"
android:text="context3" />

<TextView
android:id="@+id/context4"
android:visibility="invisible"
style="@style/context_TextView"
android:text="context4" />

<TextView
android:id="@+id/secretText"
android:visibility="invisible"
style="@style/context_TextView"
android:text="SecretText" />

</FrameLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="80dp"
android:orientation="horizontal">

<Button
android:id="@+id/button1"
style="@style/layout_hw"
android:text="버튼1" />

<Button
android:id="@+id/button2"
style="@style/layout_hw"
android:text="버튼2" />

<Button
android:id="@+id/button3"
style="@style/layout_hw"
android:text="버튼3" />

<Button
android:id="@+id/button4"
style="@style/layout_hw"
android:text="버튼4" />

<Button
android:id="@+id/button5"
style="@style/layout_hw"
android:text="버튼5"
android:visibility="gone" />

</LinearLayout>


</LinearLayout>


3. JAVA 구현


Lyout_hw.java


package dnay2k.com.helloandroid;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

/**
* Created by dnay2 on 2016-05-31.
*/
public class Layout_hw extends Activity {

/*
레이아웃내의 View객체 선언
*/
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_hw);
/*
레이아웃의 View객체 가져와서 레퍼런스 연결하기
*/

}

public View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
/*
switch문을 이용한 기능 만들기
*/
}
};

public void InvisibleAll(){
/*
View객체들을 초기화 시켜주는 메소드 구현
*/
}


}




자바구현만 만들면 오케이 입니다.


동영상과 똑같은 코드라서 쉽게 따라 할 수 있어요!


첨부파일 있습니다.


Homework_02.zip