반응형
안드로이드 스튜디오 프로그래밍_토스트 메시지 위치 변경하기_예제포함
예제
■ 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:background="@color/colorAccent"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/editView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="X위치" />
<EditText
android:id="@+id/editView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="Y위치" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="토스트 메세지 띄우기 " />
</LinearLayout>
- 원하는 위치 값(X, Y)을 입력받기 위해 EditText를 사용합니다.
- X, Y위치 값을 받는 칸임을 보여주기 위해 hint의 속성을 'X위치','Y위치'라고 해줍니다.
- 띄우기 버튼을 눌렀을 때 토스트 메세지를 띄웁니다.
■ java 파일
package com.example.practicecode;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button button;
EditText editText,editText2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editView);
editText2 = findViewById(R.id.editView2);
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
makeMsg();
}
});
}
private void makeMsg() {
Toast toast =Toast.makeText(this,"메세지입니다. ", Toast.LENGTH_LONG);
int xOffset = Integer.parseInt(editText.getText().toString());
int yOffset = Integer.parseInt(editText2.getText().toString());
toast.setGravity(Gravity.TOP|Gravity.TOP, xOffset, yOffset);
toast.show();
}
}
- EditText, Button 컴포넌트를 정의해줍니다.
- findViewById로 연결해줍니다.
- 버튼을 클릭하면 메세지를 띄우는 makeMsg() 메서드를 실행하도록 합니다.
makeMsg()
- setGravity의 파라미터를 (시작점, X값, Y값)로 넣습니다.
- (0,0)을 기준점으로 하기 위해 시작점은 Gravity.TOP | Gravity.TOP로 합니다.
- editText, editText2에서 받은 데이터를 각각 X, Y 좌표값으로 받습니다.
반응형
'컴퓨터 공학 > Android' 카테고리의 다른 글
[ 안드로이드 프로그래밍 ] 핸들러로 메시지 전송하기 ( 예제 포함 ) (2399) | 2020.04.08 |
---|---|
[ 안드로이드 프로그래밍 ] 스레드 실행하기 ( 예제 포함 ) (1895) | 2020.04.08 |
[ 안드로이드 프로그래밍 ] 간단한 예제로 서비스 이해하기2 (서비스에서 액티비티로 데이터 전달) (1953) | 2020.04.07 |
[ 안드로이드 프로그래밍] 간단한 예제로 서비스 이해하기1 (액티비티에서 서비스로 데이터 전달) (1066) | 2020.04.06 |
[안드로이드 스튜디오] 오류 해결_HardCoded (1843) | 2019.12.27 |
댓글