質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

701閲覧

javaでボタンタップ時にアニメーションが呼ばれない

ryoma26

総合スコア6

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2021/09/03 16:41

編集2021/09/04 05:42

Rotateanimationのアニメーションが起動時のときはアニメーションが実行されるのにonClickLitnerでのボタンタップ時にはアニメーションが実行されない

java

1 2package com.example.test; 3 4import 5 androidx.appcompat.app.AppCompatActivity; 6 7import android.graphics.Canvas; 8import android.graphics.Color; 9import android.graphics.Point; 10import android.os.Bundle; 11import android.util.Log; 12import android.view.ViewGroup; 13import android.view.animation.Animation; 14import android.view.animation.RotateAnimation; 15import android.widget.Button; 16import android.widget.LinearLayout; 17import android.widget.TextView; 18 19 20public class MainActivity extends AppCompatActivity { 21 MyView myView; 22 Button btn; 23 @Override 24 protected void onCreate(Bundle savedInstanceState) { 25 super.onCreate(savedInstanceState); 26 LinearLayout main=new LinearLayout(this); 27 LinearLayout.LayoutParams mainparam=new 28 LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 29 ViewGroup.LayoutParams.MATCH_PARENT); 30 31 main.setLayoutParams(mainparam); 32 main.setBackgroundColor(Color.WHITE); 33 main.setOrientation(LinearLayout.VERTICAL); 34 35 LinearLayout.LayoutParams btnparam=new 36 LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 37 ViewGroup.LayoutParams.MATCH_PARENT,1.0f); 38 39 myView = new MyView(this); 40 myView.setLayoutParams(btnparam); 41 42 btn=new Button(this); 43 btn.setLayoutParams(btnparam); 44 btn.setText(R.string.text4); 45 btn.setBackgroundColor(Color.BLACK); 46 47 btn.setOnClickListener(v->{ 48 this.tap(); 49 }); 50 main.addView(myView); 51 main.addView(btn); 52 setContentView(main); 53 } 54 void tap(){ 55 RotateAnimation ani =new RotateAnimation(0.0f,20000.0f, 56 Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); 57 ani.setDuration(5000); 58 ani.setRepeatCount(0); 59 ani.setFillAfter(true); 60 myView.setAnimation(ani); 61 } 62}

環境:Androidstdio

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/09/03 22:14

実装や設定次第では この内容だけで他者に答えろって無理です。
ryoma26

2021/09/04 05:43

コードをついかしたのでよろしくお願いします
hoshi-takanori

2021/09/09 22:46

setAnimation じゃなくて startAnimation では。ちなみに、20000 度回転させるとすごいことに…。
ryoma26

2021/09/09 23:44

解決しました!ありがとうございます やはりまずいですかね?繰り返しだと挙動がカクカクして微妙だったのでこうしたのですが
hoshi-takanori

2021/09/10 00:00 編集

別にまずくはないですが、何をしたいかによるでしょうね。あと、デフォルトでは ease-in ease-out がかかってるようなので、例えば 360 度回転を 5 回と、5 * 360 度回転を 1 回では全然違うアニメーションになりますね。
ryoma26

2021/09/11 06:18

なるほどありがとうございます。
guest

回答1

0

自己解決

setAnimation じゃなくて startAnimation

投稿2021/09/11 06:19

ryoma26

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問