タグ付けされた質問 「android-animation」

アニメーションは、JavaとXMLの両方を介してAndroidアプリに統合できます。

16
スライドアップ/ダウンアニメーションでビューを表示および非表示にします
でLinearLayout表示または非表示にするAnimation、私はその可視性を変更するたびに上または下にレイアウトをプッシュしています。 私はいくつかのサンプルを見ましたが、どれも私のニーズに合いません。 アニメーション用に2つのxmlファイルを作成しましたが、の表示を変更したときにそれらを開始する方法がわかりませんLinearLayout。

6
Androidがsetvisibility(view.Gone)中に単純なアニメーションを追加する
シンプルなレイアウトを設計しました。アニメーションなしでデザインを完成させましたが、textviewクリックイベントのアニメーションを追加したいのですが、使い方がわかりません。私のxmlデザインは良さそうでしたか?任意の提案をいただければ幸いです。 私のXML <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:longClickable="false" android:orientation="vertical" android:weightSum="16" > <LinearLayout android:layout_width="fill_parent" android:layout_height="0dp" android:orientation="vertical" android:background="#00DDA0" android:layout_weight="3" > </LinearLayout> <TextView android:id="@+id/Information1" android:layout_width="match_parent" android:layout_height="1dp" android:text="Child Information" android:background="#0390BE" android:layout_weight="0.75" android:textColor="#FFFFFF" android:layout_gravity="center|fill_horizontal"/> <LinearLayout android:id="@+id/layout1" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="8.5" android:background="#BBBBBB" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="TextView" /> </LinearLayout> <TextView android:id="@+id/Information2" android:layout_width="match_parent" android:layout_height="0dp" …


6
Gmail 3フラグメントアニメーションシナリオの完全な実用サンプル?
TL; DR:「Gmailの3フラグメントアニメーション」シナリオと呼んでいるものの完全な実用サンプルを探しています。具体的には、次のように2つのフラグメントから始めます。 いくつかのUIイベント(たとえば、フラグメントBの何かをタップする)では、次のことが必要です。 画面から左にスライドするフラグメントA フラグメントBは画面の左端までスライドし、縮小してフラグメントAが空いたスポットを取り込みます。 画面の右側からフラグメントCをスライドさせて挿入し、フラグメントBによって空いた場所を取り上げます。 そして、戻るボタンを押すと、その一連の操作を元に戻します。 今、私はたくさんの部分的な実装を見てきました。以下でそのうちの4つを確認します。不完全であることに加えて、彼ら全員に問題があります。 @Reto Meier は、同じ基本的な質問に対するこの人気のある回答を提供してsetCustomAnimations()おり、で使用することを示していますFragmentTransaction。2つのフラグメントのシナリオ(たとえば、最初はフラグメントAしか表示されておらず、アニメーション効果を使用して新しいフラグメントBに置き換えたい)の場合、私は完全に同意しています。しかしながら: 「イン」と「アウト」のアニメーションは1つしか指定できないため、3つのフラグメントのシナリオに必要なすべての異なるアニメーションをどのように処理するかわかりません。 <objectAnimator>彼のサンプルコードではピクセル単位でハードワイヤード位置を使用し、それは非現実的な与えられた様々な画面サイズであるように見えるだろう、まだsetCustomAnimations()Javaでこれらのものを定義する可能性を排除する、アニメーションのリソースを必要とします 私はのようなものとでは規模のネクタイのための方法を対象アニメーターへと途方に暮れていますandroid:layout_weightAにおけるLinearLayout割合ごとにスペースを割り当てます フラグメントCが最初にどのように処理されるかについて困惑しています(GONE?android:layout_weightof 0?0のスケールで事前にアニメーション化されている?他の何か?) @Roman Nurikは、自分で定義したものを含め、どのプロパティでもアニメーション化できることを指摘しています。これは、独自のカスタムレイアウトマネージャーサブクラスを発明する代わりに、ハードワイヤードポジションの問題を解決するのに役立ちます。これは一部には役立ちますが、Retoの残りのソリューションにはまだ困惑しています。 このpastebinエントリの作成者は、いくつかの食欲をそそる疑似コードを示しています。基本的に、3つのフラグメントはすべて最初にコンテナに常駐し、フラグメントCはhide()トランザクション操作によって最初から非表示になっています。次に、UIイベントが発生したときにshow()Cとhide()Aを実行します。ただし、Bがサイズを変更するという事実をどのように処理するかはわかりません。また、同じコンテナに複数のフラグメントを追加できるように見えるという事実にも依存しています。それが長期にわたって信頼できる動作であるかどうかはわかりません(もちろん、問題なく動作するはずですがfindFragmentById()、中断する必要があります)。 このブログ投稿の著者は、Gmailがまったく使用setCustomAnimations()しておらず、代わりにオブジェクトアニメーターを直接使用していることを示しています(「ルートビューの左マージンを変更+右ビューの幅を変更するだけ」)。ただし、これは依然として2フラグメントソリューションAFAICTであり、ここで示した実装では、ピクセル単位で寸法を固定しています。 私はこれでプラグインを続けるつもりですので、いつか自分で答えてしまうかもしれませんが、誰かがこのアニメーションシナリオの3フラグメントソリューションを解決し、コード(またはそのリンク)を投稿できることを本当に期待しています。Androidのアニメーションでは、髪の毛を抜いたくなります。私を見た人は、これはほとんど実を結ばない試みであることを知っています。

6
BackStackでフラグメントアニメーションを逆にする方法は?
次のコードを使用してフラグメントを使用しているときに、戻るボタンが押されたときに、システムがバックスタックのアニメーションを反転させると思いました。 FragmentManager fm = getFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); ft.setCustomAnimations(R.anim.slide_in, R.anim.hyperspace_out); ft.replace(R.id.viewContainer, new class(), "layout").addToBackStack(null).commit();

6
RecyclerViewアイテムへの波及効果の追加
RecyclerViewのアイテムにリップルエフェクトを追加しようとしています。オンラインで調べましたが、必要なものが見つかりませんでした。私はそれがカスタムエフェクトである必要があると思います。RecyclerView自体にandroid:background属性を試し、「?android:selectableItemBackground」に設定しましたが、機能しませんでした。 <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:focusable="true" android:clickable="true" android:background="?android:selectableItemBackground" android:id="@+id/recyclerView" android:layout_below="@+id/tool_bar"/> これは、エフェクトを追加しようとしているRecyclerViewです。

1
アニメーションを介してアクティビティのフラグメントを交換する
アニメーションを介してアクティビティの2つのフラグメントを交換したいと思います。Pag​​eAがフラグメントAと画面の左側にあり、PageBがフラグメントB、つまり画面の右側にあるとします。ここで、pageAのボタンをクリックすると、PageAが画面の右側に移動し、遷移アニメーションが表示されます。 以下のコードを試して位置を入れ替えました FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.container, new FragB()); fragmentTransaction.commit(); 手がかりを探しています。 前もって感謝します。

9
ポイントから成長するアニメーションでDialogFragmentを表示する
私はAを示していますDialogFragmentユーザーが行をタップしたときListView。行の中央から成長するようにダイアログの表示をアニメーション化したいと思います。ランチャーからフォルダーを開くと、同様の効果が見られます。 私が持っていたひとつのアイデアは、の組み合わせですTranslateAnimationとScaleAnimation。別の方法はありますか?

7
ActionItemのアニメーションアイコン
私は問題の適切な解決策をどこでも探していましたが、まだ解決策を見つけることができません。XMLファイルから拡張されたメニューを持つActionBar(ActionBarSherlock)があり、そのメニューには1つのアイテムが含まれ、その1つのアイテムはActionItemとして表示されます。 メニュー: <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_refresh" android:icon="@drawable/ic_menu_refresh" android:showAsAction="ifRoom" android:title="Refresh"/> </menu> アクティビティ: [...] @Override public boolean onCreateOptionsMenu(Menu menu) { getSupportMenuInflater().inflate(R.menu.mymenu, menu); return true; } [...] ActionItemはアイコン付きでテキストなしで表示されますが、ユーザーがActionItemをクリックすると、アイコンがアニメーション化され、具体的には所定の位置で回転します。問題のアイコンは更新アイコンです。 ActionBarはカスタムビューの使用(アクションビューの追加)をサポートしていることを理解していますが、このカスタムビューはActionBarの領域全体をカバーするように拡張され、実際にはアプリアイコン以外のすべてをブロックします。 。 したがって、私の次の試みは、AnimationDrawableを使用してフレームごとにアニメーションを定義し、ドローアブルをメニュー項目のアイコンとして設定してから、アイコンをonOptionsItemSelected(MenuItem item)取得し、を使用してアニメーションを開始すること((AnimationDrawable)item.getIcon()).start()でした。しかし、これは失敗しました。誰かがこの効果を達成する方法を知っていますか?

5
アニメーションイベント終了Android
ビュー(フラグメント内にあります)にフェードアウトアニメーションがあり、アニメーションが発生するたびに、ビューが終了した後、ビューが再描画されます。私はやっている周りの仕事を見つけましたview.SetVisibility(View.GONE)。しかし、それはアニメーションが終了するのを待ちません。このsetVisibilityコードは、アニメーションが終了した後でのみ実行したいと思います。それを行う最良の方法は何ですか?

4
中心点を基準にしたAndroid画像スケールアニメーション
ImageViewがあり、それに単純なスケールアニメーションを実行します。非常に標準的なコード。 私のscale_up.xml: <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:fromXScale="1" android:fromYScale="1" android:toXScale="1.2" android:toYScale="1.2" android:duration="175"/> </set> 私のアニメーションコード: Animation a = AnimationUtils.loadAnimation(this, R.anim.scale_up); ((ImageView) findViewById(R.id.circle_image)).startAnimation(a); 問題: 画像が拡大縮小される場合、画像は中央からではなく、左上隅から拡大縮小されます。つまり、画像の拡大縮小されたバージョンは、中心と同じポイントを持ちませんが、左上のポイントは同じです。これが私が何を意味するかを説明するリンクです。最初の画像はアニメーションのスケーリング方法であり、2番目の画像はアニメーションのスケーリング方法です。中心点を同じに保つ必要があります。画像、コンテナ、左または右に重力を設定してみましたが、常に同じスケールになります。メイン画面にRelativeLayoutを使用していて、ImageViewは別のRelativeLayoutにありますが、他のレイアウトを試しましたが、変更はありません。

4
Android-フラグメントトランザクションのカスタムアニメーションが実行されていない
サポートパッケージv4でGoogleAPI 8(Android 2.2)を使用しています。 エラーやアニメーションは発生しません。 トランザクション: FragmentTransaction transaction = manager.beginTransaction(); transaction.replace(R.id.content, myFragment); transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right); transaction.commit(); アニメーション: slide_in_left.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="700" android:fromXDelta="-100%" android:toXDelta="0%" > </translate> </set> slide_out_right.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="700" android:fromXDelta="0%" android:toXDelta="100%" > </translate> </set> ここで何が起こっているのか誰か知っていますか?

13
アンドロイドの揺れ/ぐらつきビューアニメーション
以下のようなanim.xmlファイルを作成して、AndroidでIOSアイコンが揺れるようにimageviewを揺らします。しかし、それは私に同じ結果を提供しません。もっと良いアイデアはありますか? <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="300" android:fromDegrees="-2" android:pivotX="50%" android:pivotY="50%" android:repeatCount="infinite" android:toDegrees="2" />

9
Android:アニメーションを使用してビューを表示/非表示
私はここで多くのグーグルの結果/質問を調べて、垂直アニメーションを介してビューを表示/非表示にする方法を決定してきましたが、正確に正しいか、曖昧すぎないものを見つけることができないようです。 別のレイアウトの下で、他の複数のウィジェットの上にあるレイアウト(元に戻すバー)があります。この元に戻すバーは、状況に応じて、垂直方向にスライドして開き、スライドして閉じる必要があります。 現在、私が今していることは、ビューを表示または非表示に設定することだけです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.