2016-08-17 4 views
1

ボタンを押した後、新しいアクティビティを開始したいが、アニメーションが終了した後に、素敵なアニメーション(下のコード)でサブミットボタンを作成するためにアンドロイドlibraryを使用しました。それ、どうやったら出来るの?ボタンのAndroid:ボタンアニメーション後のアクティビティの開始

XMLコード「のsubmitButton」:

<com.spark.submitbutton.SubmitButton 
     android:layout_width="200dp" 
     android:layout_height="200dp" 
     android:text="Submit" 
     android:textColor="@color/gray" 
     app:sub_btn_background="@color/white" 
     app:sub_btn_duration="3000" 
     app:sub_btn_line_color="#99FF00" 
     app:sub_btn_ripple_color="#99FF00" 
     app:sub_btn_tick_color="@color/white" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true" 
     android:id="@+id/submitButton" /> 

は、javaファイルとアクションリスナーのためのボタンを提出:

、直接活動を開始し、実行可能で呼び出しをラップするのではなく
SubmitButton submitButton = (SubmitButton) findViewById(R.id.submitButton); 
     submitButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       startActivity(new Intent(MainActivity.this,ListViewActivity.class)); 
      } 
    }); 

答えて

3

そのカスタムボタンは、そのアニメーションのリスナーを提供していない場合、そのアニメーションが行われたときに知る方法はありません。

また、あなたがそのアニメーションの継続時間を使用し、postDelayed(runnable, duration)

new Handler().postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      startActivity(new Intent(MainActivity.this,ListViewActivity.class)); 
     } 
    }, duration); 

であなたの活動を開始することができますまた、これは、XMLのsub_btn_durationですぐそこですonClick(View v)

+0

からvnew Handler()を交換することができます= "3000"。 – lionscribe

2

3000ミリ秒の遅延でpostDelayedを呼び出します。

このよう
public void onClick(View v) { 
    Runnable r = new Runnable() 
    { 
     public void run() 
     { 
      startActivity(new Intent(MainActivity.this,ListViewActivity.class)); 
     } 
    } 
    v.postDelayed(r, 3000); 
} 
関連する問題