Android/Toast Layout
Android Toast Layout example
Soul-Learner
2012. 8. 1. 12:33
Android 에서 Toast를 출력할 때 Layout 파일과 출력되는 모양을 설정하여 특색있게 꾸미는 예
res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onBtnLeft"
android:text="Toast 테스트 1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onBtnRight"
android:text="Toast 테스트 2" />
</LinearLayout>
TestActivity.java
package com.example.androidapp;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*;
public class TestActivity extends Activity {
EditText editCmd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onBtnLeft(View v) {
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toastlayout01,
(ViewGroup) findViewById(R.id.toast_layout_root));
TextView tv = (TextView) layout.findViewById(R.id.text);
tv.setText("첫번째 토스트");
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER, 0, 0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(layout);
toast.show();
}
public void onBtnRight(View v) {
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toastlayout02,
(ViewGroup) findViewById(R.id.toast_layout_root));
TextView tv = (TextView) layout.findViewById(R.id.text);
tv.setText("두번째 토스트");
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER, -160, 240);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(layout);
toast.show();
}
}
res/layout/toastlayout01.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toast_layout_root"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:orientation="vertical" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textColor="#ffff00"
android:background="@drawable/toast01shape"/>
</LinearLayout>
res/layout/toastlayout02.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toast_layout_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textColor="#ffff00"
android:background="@drawable/toast02shape"/>
</LinearLayout>
res/drawable/toast01shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke
android:width="2dp"
android:color="#000000"/>
<solid
android:color="#ff0000"/>
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"/>
<corners
android:radius="0dp"/>
</shape>
res/drawable/toast02shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke
android:width="2dp"
android:color="#000000"/>
<solid
android:color="#00ff00"/>
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"/>
<corners
android:radius="15dp"/>
</shape>