본문 바로가기
App/Android Studio

프로필 수정 📌미완성

by 코젼 2022. 8. 9.
728x90
반응형

jyeon1.png
0.10MB
jyeon2.png
0.10MB
jyeon3.png
0.09MB
jyeon4.png
0.11MB


<?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"
    android:padding="20dp"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/tv_profile"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:text="프로필😉"
        android:textColor="@color/black"
        android:textSize="40sp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:background="#AFCDD7"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/iv"
            android:layout_width="200dp"
            android:layout_height="200dp"

            android:src="@drawable/jyeon1" />

        <TextView
            android:id="@+id/tv_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:textColor="@color/black"
            android:text="noname"
            android:textSize="30sp" />

    </LinearLayout>

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

        <Button
            android:id="@+id/btn_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:backgroundTint="#005F61"
            android:text="이름 변경"
            android:textSize="25sp" />

        <Button
            android:id="@+id/btn_picture"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="7dp"
            android:backgroundTint="#009382"
            android:text="프로필사진 변경"
            android:textSize="25sp" />

    </LinearLayout>


</LinearLayout>

 


<?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:backgroundTint="@color/black"
    android:padding="10dp"
    tools:context=".MainActivity2">

    <ImageView
        android:id="@+id/iv_01"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@drawable/border"
        android:src="@drawable/jyeon1" />

    <ImageView
        android:id="@+id/iv_02"
        android:layout_width="200dp"
        android:layout_height="200dp"

        android:layout_toRightOf="@id/iv_01"
        android:background="@drawable/border"
        android:src="@drawable/jyeon2" />

    <ImageView

        android:id="@+id/iv_03"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_below="@id/iv_01"
        android:background="@drawable/border"
        android:src="@drawable/jyeon3" />

    <ImageView
        android:id="@+id/iv_04"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_below="@id/iv_02"
        android:layout_toRightOf="@id/iv_03"
        android:background="@drawable/border"
        android:src="@drawable/jyeon4" />

    <Button
        android:id="@+id/btn_cancel1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/iv_04"
        android:layout_alignParentRight="true"
        android:backgroundTint="#009382"
        android:text="취소"
        android:textSize="25sp" />

</RelativeLayout>

<?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"
    android:padding="20dp"
    tools:context=".MainActivity3">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="이름"
            android:textSize="30sp" />

        <EditText
            android:id="@+id/et_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@id/tv"
            android:layout_toRightOf="@id/tv" />

        <Button
            android:id="@+id/btn_ok"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/et_name"
            android:layout_marginRight="10dp"
            android:layout_toLeftOf="@id/btn_cancel"
            android:backgroundTint="#005F61"
            android:text="확인"
            android:textSize="25sp" />

        <Button
            android:id="@+id/btn_cancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/et_name"
            android:layout_alignParentRight="true"
            android:backgroundTint="#005F61"
            android:text="취소"
            android:textSize="25sp" />

    </RelativeLayout>

</LinearLayout>

package com.project.profile;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Parcelable;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    Intent intent;

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

        findViewById(R.id.btn_name).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                TextView tv_name = findViewById(R.id.tv_name);
                intent = new Intent(MainActivity.this, MainActivity3.class);
                String str = tv_name.getText().toString();
                intent.putExtra("name", str+"");
                startActivityForResult(intent, 1);
            }
        });

        findViewById(R.id.btn_picture).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ImageView iv = findViewById(R.id.iv);
                intent = new Intent(MainActivity.this, MainActivity2.class);
                startActivityForResult(intent, 2);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        intent = getIntent();

        if(resultCode == RESULT_OK) {
            if(requestCode == 1) {
                String str = data.getStringExtra("result_name");
                ( (TextView)findViewById(R.id.tv_name) ).setText(str);
            }
        }
    }
}

package com.project.profile;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;

public class MainActivity2 extends AppCompatActivity {


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

        findViewById(R.id.iv_01).setOnTouchListener(lis);
        findViewById(R.id.iv_02).setOnTouchListener(lis);
        findViewById(R.id.iv_03).setOnTouchListener(lis);
        findViewById(R.id.iv_04).setOnTouchListener(lis);

        findViewById(R.id.btn_cancel1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });

    }

    View.OnTouchListener lis = new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            int resIv = R.drawable.jyeon1;
            int id = v.getId();

            Intent intent = getIntent();
            Bundle picture = intent.getExtras("picture");
            int int_iv = Integer.parseInt(iv);

            if(id == findViewById(R.id.iv_01).getId()) {
                resIv = R.drawable.jyeon1;
            }

            return false;
        }
    };
}

package com.project.profile;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class MainActivity3 extends AppCompatActivity {
    Intent intent;

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

        intent = getIntent();
        EditText et_name = findViewById(R.id.et_name);
        et_name.setText(intent.getStringExtra("name"));

        findViewById(R.id.btn_ok).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                intent = getIntent();
                String str = et_name.getText().toString();
                intent.putExtra("result_name", str);
                setResult(RESULT_OK, intent);
                finish();
            }
        });

        findViewById(R.id.btn_cancel).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }
}
728x90
반응형

댓글