?? ringprofile.java
字號:
package com.yarin.android.RingProfile;import java.util.Date;import android.app.AlarmManager;import android.app.PendingIntent;import android.app.TabActivity;import android.content.Context;import android.content.Intent;import android.media.AudioManager;import android.os.Bundle;import android.util.Log;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.widget.Button;import android.widget.ImageButton;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.TabHost;import android.widget.TimePicker;import android.widget.RadioGroup.OnCheckedChangeListener;import android.widget.TabHost.OnTabChangeListener;public class RingProfile extends TabActivity{ private static final String TAG="RingToggle"; //聲明TabHost對象 private TabHost mTabHost; protected boolean isChange; private AlarmManager mAlarmManager; private TimePicker mTimePicker ; private int mTab; private ImageView myImage; private ImageButton downButton; private ImageButton upButton; private ImageButton normalButton; private ImageButton muteButton; private ImageButton vibrateButton; private ProgressBar myProgress; private AudioManager audioMa; private int volume = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //取得TabHost對象 mTabHost = getTabHost(); /* 為TabHost添加標簽 */ //新建一個newTabSpec(newTabSpec) //設置其標簽和圖標(setIndicator) //設置內容(setContent) mTabHost.addTab(mTabHost.newTabSpec("tab_test1") .setIndicator("普通情景模式",getResources().getDrawable(R.drawable.icon)) .setContent(R.id.RadioGroup01)); mTabHost.addTab(mTabHost.newTabSpec("tab_test2") .setIndicator("定時情景模式",getResources().getDrawable(R.drawable.timeprofile)) .setContent(R.id.RelativeLayout01)); mTabHost.addTab(mTabHost.newTabSpec("tab_test3") .setIndicator("自定義情景模式",getResources().getDrawable(R.drawable.addprofile)) .setContent(R.id.AbsoluteLayout03)); //設置TabHost的背景圖片資源 mTabHost.setBackgroundResource(R.drawable.bg); //設置當前顯示哪一個標簽 mTabHost.setCurrentTab(0); mTab = 0; updateRadioGroup(); //初始化,取得AudioManager audioMa = (AudioManager)getSystemService(Context.AUDIO_SERVICE); myImage = (ImageView)findViewById(R.id.myImage); myProgress = (ProgressBar)findViewById(R.id.myProgress); downButton = (ImageButton)findViewById(R.id.downButton); upButton = (ImageButton)findViewById(R.id.upButton); normalButton = (ImageButton)findViewById(R.id.normalButton); muteButton = (ImageButton)findViewById(R.id.muteButton); vibrateButton = (ImageButton)findViewById(R.id.vibrateButton); //標簽切換事件處理,setOnTabChangedListener mTabHost.setOnTabChangedListener(new OnTabChangeListener() { @Override public void onTabChanged(String tabId) { if ( tabId.equals("tab_test1") ) { mTab = 0; mAlarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); mTimePicker = (TimePicker)findViewById(R.id.timePkr); mTimePicker.setIs24HourView(true); updateRadioGroup(); } else if ( tabId.equals("tab_test2") ) { mTab = 1; mAlarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); mTimePicker = (TimePicker)findViewById(R.id.timePkr); mTimePicker.setIs24HourView(true); updateRadioGroup(); } } }); /***************************************************************/ RadioGroup group1 = (RadioGroup) findViewById(R.id.RadioGroup01); group1.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedId) { if (isChange) return; switch (checkedId) { case R.id.ring_and_vibrate01: ringAndVibrate(); break; case R.id.ring01: ring(); break; case R.id.vibrate01: vibrate(); break; case R.id.silent01: silent(); break; } RadioButton radio = (RadioButton) findViewById(checkedId); if (radio != null) radio.setTextSize(30); } }); //RadioButton添加監聽器 for (int i = 0, l = group1.getChildCount(); i < l; i++) { RadioButton radio = (RadioButton) group1.getChildAt(i); radio.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { RadioButton radio = (RadioButton) v; if (!radio.isChecked()) return false; radio.setTextSize(30); return false; } }); } /***************************************************************/ //添加onChangeListener RadioGroup group2 = (RadioGroup) findViewById(R.id.RadioGroup02); group2.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedId) { if (isChange) return; switch (checkedId) { case R.id.ring_and_vibrate02: ringAndVibrate(); break; case R.id.ring02: ring(); break; case R.id.vibrate02: vibrate(); break; case R.id.silent02: silent(); break; } RadioButton radio = (RadioButton) findViewById(checkedId); if (radio != null) radio.setTextSize(30); } }); //RadioButton添加監聽器 for (int i = 0, l = group2.getChildCount(); i < l; i++) { RadioButton radio = (RadioButton) group2.getChildAt(i); radio.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { RadioButton radio = (RadioButton) v; if (!radio.isChecked()) return false; radio.setTextSize(30); return false; } }); } //取得手機的初始音量,并初始化進度條 volume=audioMa.getStreamVolume(AudioManager.STREAM_RING); myProgress.setProgress(volume); //取得初始模式,并分別設置圖標 int mode=audioMa.getRingerMode(); if(mode==AudioManager.RINGER_MODE_NORMAL) { myImage.setImageDrawable(getResources() .getDrawable(R.drawable.icon)); } else if(mode==AudioManager.RINGER_MODE_SILENT) { myImage.setImageDrawable(getResources() .getDrawable(R.drawable.mute)); } else if(mode==AudioManager.RINGER_MODE_VIBRATE) { myImage.setImageDrawable(getResources() .getDrawable(R.drawable.vibrate)); } //降低音量按鍵 downButton.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { //adjustVolume可以增加和降低音量 audioMa.adjustVolume(AudioManager.ADJUST_LOWER, 0); volume=audioMa.getStreamVolume(AudioManager.STREAM_RING); //設置進度條 myProgress.setProgress(volume); //設置圖標 int mode=audioMa.getRingerMode();
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -