CountTimer 이용하여 Toast customize하기

<카운트 타이머를 이용해서 Toast 나오는 시간 조정>

public class MainActivity extends Activity {

private static final int MILLISINFUTURE = 11*1000;
private static final int COUNT_DOWN_INTERVAL = 1000;

private int count = 10;
private TextView countTxt ;
private CountDownTimer countDownTimer;

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

countTxt = (TextView)findViewById(R.id.count_txt);
countDownTimer();
countDownTimer.start();

}

public void countDownTimer(){

countDownTimer = new CountDownTimer(MILLISINFUTURE, COUNT_DOWN_INTERVAL) {
public void onTick(long millisUntilFinished) {
countTxt.setText(String.valueOf(count));
count –;
}
public void onFinish() {
countTxt.setText(String.valueOf(“Finish .”));
}
};
}

@Override
public void onDestroy() {
super.onDestroy();
try{
countDownTimer.cancel();
} catch (Exception e) {}
countDownTimer=null;
}
}
http://iw90.tistory.com/127

* textview에서 text안에 엔터 \n 이것을 쓰면 된다.

 

<Toast 글씨 크기 변경>

Toast toast = Toast.makeText(context, “”, Toast.LENGTH_SHORT);
ViewGroup group = (ViewGroup) mToast.getView();
TextView messageTextView = (TextView) group.getChildAt(0);
messageTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 15);

 

<Toast.중간 정렬>
messageTextView.setGravity(Gravity.CENTER);
messageTextView.setLineSpacing(5, 1);

 

예제)

// exp : 카운트다운타이머(토스트 시간조정) 함수
public void countDownTimer(){
   mediaPlayer= MediaPlayer.create(MainActivity.this, R.raw.calm);
   mediaPlayer.start();
   countDownTimer = new CountDownTimer(MILLISINFUTURE, COUNT_DOWN_INTERVAL) {
      public void onTick(long millisUntilFinished) {
         unlockMessage.show();

         //date.setText(String.valueOf(count)); // cf : count 숫자 출력방법
         //count --;
      }
      public void onFinish() {
         unlockMessage.show();

         countDownTimer2(); // cf : 이어서 성령청원기도 토스트 출력 20초간
         countDownTimer2.start();

         unlockMessage2 = Toast.makeText(MainActivity.this, "청원 기도를 바쳐봅시다. \n\n 오소서, 성령님,주님의 빛, 그 빛살을 하늘에서 내리소서.\n " +
                     "가난한 이 아버지, 오소서 은총 주님, 오소서 마음의 빛.\n 가장 좋은 위로자, 영혼의 기쁜 손님, 저희 생기 돋우소서." +
                     "\n일할 때에 휴식을, 무더위에 시원함을, 슬플 때에 위로를.\n영원하신 행복의 빛, 저희 마음 깊은 곳을 가득하게 채우소서." +
                     "\n주님 도움 없으시면, 저희 삶의 그 모든 것, 해로운 것 뿐이리라.\n허물들은 씻어 주고, 마른 땅 물 주시고, 병든 것을 고치소서." +
                     "\n굳은 마음 풀어 주고,차디찬 맘 데우시고, 빗나간 길 바루소서.\n 성령님을 굳게 믿고, 의지하는 이들에게, 성령칠은 베푸소서." +
                     "\n덕행 공로 쌓게 하고,구원의 문 활짝 열어, 영원복락 주옵소서. 아멘."
                           , Toast.LENGTH_LONG);
         group = (ViewGroup) unlockMessage2.getView();
         messageTextView = (TextView) group.getChildAt(0);
               SharedPreferences sp = getSharedPreferences("setting",0);
              messageTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 17);
               messageTextView.setGravity(Gravity.CENTER);
               messageTextView.setLineSpacing(5, 1);
         unlockMessage2.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
         unlockMessage2.show();
      }
   };
}

public void onDestroy() {
   super.onDestroy();
   try{
      countDownTimer.cancel();
   } catch (Exception e) {}
   countDownTimer=null;
   mediaPlayer.stop();
}
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s