2016-10-26 10 views
0

最初の画面でアプリを起動するときに、私が押し込むまで、スケール(少し拡大して&の小さなズーム)アニメーションを行いたいだけです。これはアプリの「メイン」ボタンと最も重要なボタンなので、ユーザーの注目を集めたいからです。私はいくつかのチュートリアルを発見したと私はこれまでのところ達し:Androidボタンスケールのアニメーション

MainScreen.java

package com.example.konarx.a11042016; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.content.Intent; 
import android.view.View; 
import android.view.animation.Animation; 
import android.view.animation.AnimationUtils; 
import android.widget.Button; 

public class MainScreen extends AppCompatActivity { 
private Button btn; 
final Animation scale; //ERROR - Variable 'scale' might not have been initialized// 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main_screen); 
    final scale = AnimationUtils.loadAnimation(this, R.anim.gps_button_animation); //ERROR - Unknown class: 'scale'// 
    btn = (Button) findViewById(R.id.ImageButton); //ERROR - Unexpected cast to `Button`: layout tag was `ImageButton`// 
    btn.startAnimation(scale); //I just want to do the animation without clicking it. Is that going to work?// 
} 

public void InfoActivity(View view) { 
    Intent intent = new Intent(this, InfoActivity.class); 
    startActivity(intent); 
} 
} 

gps_button_animation.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/linear_interpolator"> 
<scale 
    android:fromXScale="1.0" 
    android:toXScale="3.0" 
    android:fromYScale="1.0" 
    android:toYScale="3.0" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:duration="500" 
    android:repeatCount="1" 
    android:repeatMode="reverse" /> 
</set> 

ボタンXML main_activity.xlmで

<ImageButton 
    android:id="@+id/ImageButton" 
    android:layout_width="200dp" 
    android:layout_height="200dp" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:background="@drawable/button_image" 
    android:layout_marginTop="15dp" 
    /> 

:(

がPS助けてください:さて、あなたはこのボタンを設定する必要があり、私は、これが私の最初のアプリ

答えて

1

まず初心者ですよ、あなたはボタン

btn = (ImageButton) findViewById(R.id.ImageButton); 

を初期化する必要がありますclickListenerで

btn.setOnClickListener(this); 

行うには最後のものはclickListenerを追加し、アニメーション

 @Override 
     public void onClick(View view) { 
      btn.startAnimation(scale); 
     } 

を開始することで、あなたのクラス宣言

public class MainScreen extends AppCompatActivity implements View.OnClickListener { 
     private ImageButton btn; 
     private Animation scale; 

に追加します。

public class MainScreen extends AppCompatActivity implements View.OnClickListener { 
    private Button btn; 
    private Animation scale; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main_screen); 
     scale = AnimationUtils.loadAnimation(this, R.anim.gps_button_animation); 
     btn = (Button) findViewById(R.id.ImageButton); 
     btn.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View view) { 
     btn.startAnimation(scale); //gives me error to scale// 
    } 

    public void InfoActivity(View view) { 
     Intent intent = new Intent(this, InfoActivity.class); 
     startActivity(intent); 
    } 
    } 

希望が問題を解決します。これに疑問がある場合はお気軽にお尋ねください;

+0

MainScreen.javaの変更点を確認してください。それは私にエラーを与えます **(ボタン)findViewById(R.id.ImageButton); **と** btn.startAnimation(スケール); ** –

+0

あなたはスケールgloobal ...ボタンを作る必要があります.... – Timo

+0

スケールの最後のアニメーションを削除する必要があります。 – Timo

関連する問題