mojo's Blog

기본 위젯 다뤄보기 본문

Android

기본 위젯 다뤄보기

_mojo_ 2021. 8. 26. 16:28

글자 관련 속성의 XML 코드

 

<?xml version="1.0" encoding="utf-8"?>
<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:orientation = "vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="30dp"
        android:text="textSize 속성"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="#00FF00"
        android:textSize="30dp"
        android:text="textColor 속성"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold|italic"
        android:textSize="30dp"
        android:text="textStyle 속성"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:typeface="serif"
        android:textSize="30dp"
        android:text="typeface 속성"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:textSize="30dp"
        android:text="stringLine 속성 stringLine 속성 stringLine 속성"/>

</LinearLayout>

 

이때 singleLine 속성은 글이 길어 줄이 넘어갈 경우를 방지하기 위해 강제로 한 줄까지만 출력하고 문자열의 맨 뒤에 "..." 를 표시한다.

 

 

Java 코드로 XML의 글자 관련 속성 설정

 

package com.example.helloandroid;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    TextView tv1,tv2,tv3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tv1=(TextView)findViewById(R.id.tv1);
        tv2=(TextView)findViewById(R.id.tv2);
        tv3=(TextView)findViewById(R.id.tv3);

        tv1.setText("안녕하세요?");
        tv1.setTextColor(Color.RED);

        tv2.setTextSize(30);
        tv2.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD_ITALIC);

        tv3.setText("가나다라마바사아자차카타파하가나다라마바사아자차카타파하");
        tv3.setTextSize(30);
        tv3.setSingleLine();

    }
}

 

 

간단한 계산기 앱을 만들어보도록 한다.

 

XML Code

 

<?xml version="1.0" encoding="utf-8"?>
<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:padding="30dp"
    android:orientation = "vertical">

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:hint="숫자1"
        android:id="@+id/edit1"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:hint="숫자2"
        android:id="@+id/edit2"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="더하기"
        android:layout_margin="10dp"
        android:id="@+id/btn1"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="빼기"
        android:layout_margin="10dp"
        android:id="@+id/btn2"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="곱하기"
        android:layout_margin="10dp"
        android:id="@+id/btn3"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="나누기"
        android:layout_margin="10dp"
        android:id="@+id/btn4"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="#FF0000"
        android:layout_margin="30dp"
        android:text="계산 결과 : "
        android:textSize="30dp"
        android:id="@+id/text1"/>

</LinearLayout>

 

Java Code

 

package com.example.helloandroid;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    EditText edit1,edit2;
    Button btn1,btn2,btn3,btn4;
    TextView text;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        edit1=(EditText)findViewById(R.id.edit1);
        edit2=(EditText)findViewById(R.id.edit2);

        btn1=(Button)findViewById(R.id.btn1);
        btn2=(Button)findViewById(R.id.btn2);
        btn3=(Button)findViewById(R.id.btn3);
        btn4=(Button)findViewById(R.id.btn4);

        text=(TextView)findViewById(R.id.text1);

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int x = Integer.parseInt(edit1.getText().toString());
                int y = Integer.parseInt(edit2.getText().toString());
                String s = "계산 결과 : " + Integer.toString(x+y);
                text.setText(s);
            }
        });

        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int x = Integer.parseInt(edit1.getText().toString());
                int y = Integer.parseInt(edit2.getText().toString());
                String s = "계산 결과 : " + Integer.toString(x-y);
                text.setText(s);
            }
        });

        btn3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int x = Integer.parseInt(edit1.getText().toString());
                int y = Integer.parseInt(edit2.getText().toString());
                String s = "계산 결과 : " + Integer.toString(x*y);
                text.setText(s);
            }
        });

        btn4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int x = Integer.parseInt(edit1.getText().toString());
                int y = Integer.parseInt(edit2.getText().toString());
                String s;
                if(y==0) s ="0으로 나누실 수 없습니다!";
                else  s = "계산 결과 : " + Integer.toString(x/y);
                text.setText(s);
            }
        });

    }
}

 

 

 

Comments