개발/안드로이드
[과제록] 제 2주차 OnClickListener
leanQ_mountain
2016. 6. 3. 16:16
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객체들을 초기화 시켜주는 메소드 구현
*/
}
}
자바구현만 만들면 오케이 입니다.
동영상과 똑같은 코드라서 쉽게 따라 할 수 있어요!
첨부파일 있습니다.