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

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

ただいまの
回答率

90.00%

Activity の遷移アニメーションについて(綺麗にならない)

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,994

ryuuichi2014

score 87

以下のサイトを参考にして、アクティビティ遷移のアニメーションを設定しました。

http://android.roof-balcony.com/resource/animation/

http://yamato-iphone.blogspot.jp/2011/11/blog-post_8925.html

横からでてくるようにはなったのですが、次のアクティビティがスライドして登場する際に、なぜか死ぬべきアクティビティが登場してきてチラッとちらついた後に次のアクティビティに変わるという感じになっています。

(次のアクティビティがスライドして登場してこない)

なにかいい方法はないでしょうか?

========================

おくれまして、すいません。このような感じにしています。

slide_in_left.xml 

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="300"
        android:fromXDelta="-100%"
        android:toXDelta="0" />
    <alpha
        android:duration="300"
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />

</set>

以上のような感じで以下4ファイルを animator フォルダに入れ込んでいます。 
slide_in_left.xml 
slide_in_right.xml 
slide_out_left.xml 
slide_out_right.xml 


<?xml version="1.0" encoding="utf-8"?>
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!--<item name="android:windowAnimationStyle">@style/Animation.Activity</item>-->
        <!--<item name="android:windowAnimationStyle">@android:style/Animation</item>-->
        <item name="android:windowAnimationStyle">@style/Animation.Activity</item>
        <!--<item name="android:windowAnimationStyle">@style/Animation.Activity</item>-->
        <!-- Customize your theme here. -->
    </style>

    <!-- アニメーションの詳細設定 -->
    <!--<style name="Animation" parent="android:Animation" />-->
    <style name="Animation.Activity" parent="android:Animation.Activity">
        <item name="android:activityOpenEnterAnimation">@animator/slide_in_right</item>
        <item name="android:activityOpenExitAnimation">@animator/slide_out_left</item>
        <item name="android:activityCloseEnterAnimation">@animator/slide_in_left</item>
        <item name="android:activityCloseExitAnimation">@animator/slide_out_right</item>
    </style>

</resources>





前提・実現したいこと

(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装したいのですがうまく動きません。

発生している問題・エラーメッセージ


ソースコード

ここにご自身が実行したソースコードを書いてください

###補足情報(言語/FW/ツール等のバージョンなど)
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Nzc

    2015/11/30 19:51 編集

    本文に【</>アイコン】のコード記述用のものを使ってXMLを追記してください.
    また,XMLだけでなく,Activity遷移のソースコードも追記しましょう.

    キャンセル

  • ryuuichi2014

    2015/11/30 20:01

    >本文に【</>アイコン】のコード記述用のもの

    というのはどういうものでしょうか?

    キャンセル

  • Nzc

    2015/11/30 20:07

    質問下部の「編集」をクリックして,「質問投稿画面」に飛びます.
    本文用のテキストボックスの上部に,ボールド体や,イタリック体などのオプションがあります.左から7つ目の【</>】というアイコンをクリックすると,ソースコードを入力するための欄を作ってくれます.その中にXMLを記述すると見やすくコードを載せることができます.

    キャンセル

回答 1

0

Styleからの実現ですね.失礼いたしました.
@animator/slide_in_right.xml
@animator/slide_out_left.xml
@animator/slide_in_left.xml
@animator/slide_out_right.xml
それぞれに誤りはありませんか?特にtoAlphaを確認してみましょう.
また,Androidのanimatorとanimで動作が異なることがあるようです.
animフォルダに入れて,同様に実行してみると解決することがあるます.

ソースコードからはこのようなコードで動作するはずです.
Intent i = new Intent(this, NextActivity.class);
startActivity(i);
overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/11/30 21:52

    animフォルダに変更してみたのですが、変わらない感じです。

    overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);

    を実装してみて実行したのですが、アニメーションをはじめることができました。

    XMLだけの実行は無理のようです。

    キャンセル

  • 2015/11/30 22:10 編集

    最初のもので,正しくなくともアニメーションされるということは,themes.xmlやAndroidManifest.xmlは正しく編集済みかと思われます.また,overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);などを実行してあなたのanimatorファイルを実行してみてください.これが思い通りに正しく実行された場合,styles.xmlの設定ミスが考えられます.正しく実行されない場合,animatorファイルに問題があります.

    キャンセル

  • 2015/12/03 05:33

    いろいろやってみたのですが、なかなかうまくいきませんでした。
    現在はアニメーションを切っている状態で作成しています。

    ありがとうございました。

    キャンセル

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

  • ただいまの回答率 90.00%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる