2024/12/12 app

윤수환·2024년 12월 12일

android app

목록 보기
8/8
-------------------- activity_main.xml  ---------------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="20dp"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="로그인"
        />

    <TextView
        android:id="@+id/tvId"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:text="아이디 : "
        android:textSize="18sp" />

    <TextView
        android:id="@+id/tvPasswd"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:text="비밀번호 : "
        android:textSize="18sp" />

    <TextView
        android:id="@+id/tvGender"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:text="성별 : "
        android:textSize="18sp" />


</LinearLayout>




---------------------    dialog_main.xml   -----------------------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="20dp">

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:text="Login Form"
        android:textColor="#F06292"
        android:textSize="24sp"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter ID"
        android:textSize="14sp" />

    <EditText
        android:id="@+id/passwd"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter Password"
        android:textSize="14sp" />

    <RadioGroup
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <RadioButton
            android:id="@+id/male"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="남성" />

        <RadioButton
            android:id="@+id/female"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="여성" />
    </RadioGroup>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="horizontal">

        <Button
            android:id="@+id/login"
            style="@style/Widget.AppCompat.Button.Colored"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Login"
            app:backgroundTint="#F06292" />

        <Button
            android:id="@+id/cancel"
            style="@style/Base.Widget.AppCompat.Button.Colored"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Cancel"
            app:backgroundTint="#F06292" />
    </LinearLayout>

</LinearLayout>


package com.example.user_dialogapp;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

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

        Button button = findViewById(R.id.button);
        TextView tvId = findViewById(R.id.tvId);
        TextView tvPasswd = findViewById(R.id.tvPasswd);
        TextView tvGender = findViewById(R.id.tvGender);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                LayoutInflater inflater = getLayoutInflater();
                View dialogView = inflater.inflate(R.layout.dialog_main,null);
                builder.setView(dialogView);
                AlertDialog dialog = builder.show();

                Button login = dialogView.findViewById(R.id.login);
                Button cancel = dialogView.findViewById(R.id.cancel);

                login.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        TextView id = dialogView.findViewById(R.id.id);
                        TextView passwd = dialogView.findViewById(R.id.passwd);
                        RadioButton male = dialogView.findViewById(R.id.male);
                        RadioButton female = dialogView.findViewById(R.id.female);
                        dialog.dismiss();
                        tvId.setText("아이디 : "+ id.getText());
                        tvPasswd.setText("비밀번호 : "+ passwd.getText());
                        if (male.isChecked())
                            tvGender.setText("성별 : 남성");
                        else
                            tvGender.setText("성별 : 여성");
                    }
                });
                cancel.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        dialog.dismiss();
                    }
                });
            }
        });
    }
}

0개의 댓글