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>