Study_exam_01.zip
예제파일 import해서 실행시켜보시기 바랍니다.
해석은 주석에 다 달려 있으니, 응용하여 연습하시면 더 좋으리라 생각됩니다.
package com.example.study_exam_01;
import com.example.study_1st.R;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.TypedValue;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
private Button text_edit_bt;
private Button color_edit_bt;
private Button size_edit_bt;
private TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //이 액티비티는 activity_main.xml 파일의 뷰를 가집니다.
tv1 = (TextView) findViewById(R.id.tv1); //xml파일에서 설정한 뷰를 소스코드에서 사용하기 위해 ID로 연결하는 과정입니다.
text_edit_bt = (Button) findViewById(R.id.text_edit_bt);
color_edit_bt = (Button) findViewById(R.id.color_edit_bt);
size_edit_bt = (Button) findViewById(R.id.size_edit_bt);
text_edit_bt.setOnClickListener(this);
color_edit_bt.setOnClickListener(this);
size_edit_bt.setOnClickListener(this);
// text_edit_bt.setOnClickListener(new View.OnClickListener() { //이렇게 각각의 리스너를 등록해서 사용 할 수도 있습니다.
// @Override
// public void onClick(View v) {
// tv1.setText(tv1.getText() + "+");
// }
// });
}
//온클릭을 오버라이드 하기 위해서는 클래스에 OnClickListener를 implements해야합니다. 11번째줄 참조.
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.text_edit_bt :
tv1.setText(tv1.getText() + "+"); //기존 텍스트를 얻어와서(tv1.getText()) 뒤에 +를 추가합니다.
// tv1.setText("원하는 텍스트");
break;
case R.id.color_edit_bt :
tv1.setTextColor(Color.BLUE); //Color 클래스에 들어있는 BLUE 색상으로 변환합니다.
// tv1.setTextColor(Color.parseColor("#FF0000")); //직접 색상코드를 입력하여 원하는 색으로도 설정 가능합니다.
break;
case R.id.size_edit_bt :
tv1.setTextSize(TypedValue.COMPLEX_UNIT_PX, tv1.getTextSize() + 1); //기존 텍스트사이즈를 얻어와서 + 1만큼 사이즈를 키웁니다.
// tv1.setTextSize(16); //원하는 고정수치(px)로도 텍스트 크기를 변경 가능합니다.
break;
}
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/text_edit_bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="글 변경" />
<Button
android:id="@+id/color_edit_bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="글씨 색 변경" />
<Button
android:id="@+id/size_edit_bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="글씨 크기 변경" />
</LinearLayout>