画像の透明度が徐々に低下

1777 ワード

ログイン画面ボタンをクリックすると、画像の透明度が徐々に低下し、消えてから別の画面に入ります.
public class LoginActivity extends Activity {
	//    
	private Button loginButton;
	//    
	private TextView loginText;
	//    
	private ImageView imagView;
	//     
	private int i_alpha=255;
	private Handler mHandler=new Handler();
	boolean isShow=false;
	private Thread thread;
	private Intent intent;
	protected void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		setContentView(R.layout.login);
		//       
		loginButton=(Button)findViewById(R.id.login_in);
		loginText=(TextView)findViewById(R.id.logining);
		imagView=(ImageView)findViewById(R.id.login_rss);
		//        
		imagView.setAlpha(i_alpha);
		isShow=true;
		//       
		mHandler=new Handler(){
			@Override
			public void handleMessage(Message msg){
				super.handleMessage(msg);
				imagView.setAlpha(i_alpha);
			}
		};
		//      100ms         
		thread=new Thread(new Runnable(){
			public void run(){
				while(isShow){
					try{
						Thread.sleep(100);
						updateAlpha();
					}catch(InterruptedException e){
						e.printStackTrace();
					}
				}
			}
		});
		loginButton.setOnClickListener(new OnClickListener(){
			public void onClick(View v){
				intent=new Intent();
				intent.setClass(LoginActivity.this, SelectChannel.class);
				//    
				thread.start();
				//         
				loginButton.setVisibility(View.INVISIBLE);
				//        
				loginText.setVisibility(View.VISIBLE);
			}
		});			
	}
	//       
	protected void updateAlpha(){
		//   25
		if((i_alpha-25)>=0){
			i_alpha=i_alpha-25;
		}else{
			//      25,      ,     
			i_alpha=0;
			isShow=false;
			startActivity(intent);
			LoginActivity.this.finish();
		}
		//    
		mHandler.sendMessage(mHandler.obtainMessage());
	}
	

}