본문 바로가기
안드로이드

[안드로이드] 여론조사앱

by 호아나트 2019. 10. 12.
반응형

<dimen.xml>

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="activity_horizontal_margin">16dp</dimen>  //16dp의 여백을 부여할 수 있는 
    <dimen name="activity_vertical_margin"을 만듦>16dp</dimen>   //"activity_horizontal_margin","activity_vertical_margin"을 만듦
    <dimen name="wide_size">40px</dimen>
</resources>

 

<mainactivity.xml>

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    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"  //위,아래,좌,우의 패딩을 16dp씩 부여
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"> //메인 Activity 설정
    <TextView	/
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true" 부모컨테이너의 좌측이며 위쪽으로 맞춤
        android:layout_alignParentTop="true"
        android:text="현재 사용중인 안드로이드 버전은"
        android:textAppearance="?android:attr/textAppearanceLarge" //텍스트의 모양을 대형크기의 텍스트로 표시
        />
    <RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"	//부모컨테이너의 좌측에 맞춤
        android:layout_below="@+id/textView1">  //textView1아래에 배치
        <RadioButton
            android:id="@+id/radio0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="2.3.3"/>
<RadioButton
    android:id="@+id/radio1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="4.1"/>
        <RadioButton
            android:id="@+id/radio2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="4.4"/>
    </RadioGroup>
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/radioGroup1"	//라디오그룹 밑이며 좌측에 맞춤
        android:layout_below="@+id/radioGroup1"
        android:text="display image"/>
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button1" 
        android:layout_below="@+id/button1"
        android:layout_marginTop="48dp"//내부여백의 윗부분을 48dp로 여백설정
        android:src="@drawable/image2"/>
</RelativeLayout>

<MainActivity.java>

package com.example.a5_homework3;
import androidx.appcompat.app.AppCompatActivity;
import android.media.Image;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
public class MainActivity extends AppCompatActivity {
RadioGroup radioGroup;
        RadioButton button1,button2,button3;
    Button button;
    ImageView image;
    //무명클래스 
    View.OnClickListener radio_listener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            switch (radioGroup.getCheckedRadioButtonId())//라디오그룹의 체크되어있는 부분에 따라
            {
            //각 라디오버튼의 그림이 나오게함
                case R.id.radio0:
                    image.setImageResource(R.drawable.image0);
                    break;
                case R.id.radio1:
                    image.setImageResource(R.drawable.image1);
                    break;
                case R.id.radio2:
                    image.setImageResource(R.drawable.image2);
                    break;
            }
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle("Servey");	//어플이름 설정
        //mainactivity.xml에 설정된 뷰 가져옴
        radioGroup = (RadioGroup) findViewById(R.id.radioGroup1);
        button1 = (RadioButton) findViewById(R.id.radio0);
        button2 = (RadioButton) findViewById(R.id.radio1);
        button3 =(RadioButton) findViewById(R.id.radio2);
        //버튼에 클릭리스너 세팅
        button1.setOnClickListener(radio_listener);
        button2.setOnClickListener(radio_listener);
        button3.setOnClickListener(radio_listener);
        button =(Button) findViewById(R.id.button1);
        image =(ImageView) findViewById(R.id.imageView1);
    }
}

<출력화면>

 

반응형

댓글