問題タブ [android-viewpager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
552 参照

java - Androidでビューを切り替える際の「ホーム画面」のような効果

本に似たAndroidでアプリケーションを作成しています。ホーム画面と同様のビュー(アクティビティではない)間のスクロール効果が欲しいだけです。現在、私は を使用してViewFlipperおり、希望するアニメーションがありません。指をたどるのとは対照的に、シフトが突然であるためです。

個々のプログラマーがそのようなことをより簡単に実現するために開発されているいくつかのオープンソース プロジェクトとクラスがあることは承知していますが、ホームスクリーン風の効果を実装するために見落としていた可能性がある方法があるかどうか疑問に思いました。私が使用することを考えた代替案TabViewは、ページのコンテンツの上にラベル タブが表示されない、まだこのオプションを十分に調べていない です。

誰かが同じハードルに遭遇し、それを克服する方法のアイデアを持っているなら、私はあなたにピザを買います! (そうじゃなくて... あなたの住所を知りません) でも、とても感謝しています! :)

ありがとう

0 投票する
1 に答える
1587 参照

android - ビューページャーを拡張してナビゲーションインジケーターを含める

画面にいくつかの矢印を追加して、ユーザーがスクロールできるように、左または右に使用可能なアイテムがあるかどうかを示しようとしています。

最初は、これらの画像をpageradapterのinstantiateItem関数に追加しました。ただし、ユーザーが画面に触れたときに矢印がフェードインおよびフェードアウトして消えるように、矢印をアニメーション化したいと思います。

アダプターとは関係なく常に矢印が表示されるように、viewpagerクラスを拡張するのが最善だと思い始めました。コードを確認しましたが、オーバーレイビューを追加する場所がわかりません。

誰かアイデアはありますか?

ありがとう、m

0 投票する
1 に答える
7822 参照

android - ListViewのViewPager-スクロール軸をロックする方法は?

ListViewのすべての行にViewPagerウィジェットがあります。これにより、棚のようなUIが提供されるため、ユーザーは、棚を垂直方向に検索してスクロールし、次に棚のコンテンツ間を水平方向にスクロールできます。これは機能します。

しかし、スクロールの経験はひどいものです。シェルフのViewPagerをドラッグし始め、水平方向にスクロールし、誤って上下に少しドラッグすると、ListViewはこのドラッグアクションを「トラップ」し、垂直方向にスクロールし始め、水平方向のドラッグを終了します。この状態では、ドラッグアクションはViewPagerに「戻る」ことはなく、ListViewにそれがあり、それだけです。ViewPagerに再度影響を与えるには、別のドラッグアクションを開始する必要があります。したがって、これらの場合はListViewが優先されると思います。

これはどのように修正できますか?正反対のことを実現したいと思います。リスト行内のViewPagerが水平方向のドラッグに反応し始めた場合、そのアクションをトラップする必要があり、ユーザーが指をどのように動かしても、このドラッグはListViewに影響を与えなくなります。垂直に。これはできますか?

0 投票する
1 に答える
4574 参照

android - ViewPagerでフラグメントを動的に追加および削除する

内部リストを使用してフラグメントを提供するカスタムでを使用していますViewPagerPagerFragmentAdapter設定の変更時にフラグメントを動的に追加および削除したいと思います。

もう一度電話をかけようとしましたsetAdapterが、取得しましたIllegalStateException (Can not perform this action after onSaveInstanceState)

どうすれば私の目的を達成できますか?

0 投票する
1 に答える
925 参照

android - ViewPagers を使用した ListView

UI に問題があります。ViewPagers をリスト項目として持つ ListView が含まれています。問題は、水平スクロールが ListView によって中断されているように見えることです (垂直スクロールをキャッチします)。私が達成したいのは、何が起こっても横スクロールが常に終了することです。現在、彼らは途中で止まっています。

これはおそらく一般的な問題ですが、まだ解決策を見つけていません。リストビューで水平スクロールを傍受しようとしましたが、傍受できますが、それでもスワイプが停止します。

誰かが私を正しい方向に向けることができますか?

0 投票する
4 に答える
12840 参照

android - ViewPager と同様に Android アクティビティ間をスワイプします

私の Android アプリケーションには、2 つの別個の関連するトップレベルの画面 / アクティビティがあります。それらに 2 つの個別のランチャー アイコンを用意したいのですが、ViewPager の場合と同様に、ユーザーがそれらの間を「スワイプ」できるようにします。

私が見るオプションは次のとおりです。

  1. 2 つの別個のアクティビティを実装し、それらの間でスワイプできるようにします。問題は、ViewPager を 2 つの別々のアクティビティで使用できないことです。

  2. 2 つのフラグメントを持つ単一のアクティビティを実装し、ViewPager を使用してそれらを切り替えます。スワイプは簡単ですが、正しいフラグメントに自動的に切り替わるランチャーを 2 つ持つことは可能ですか?

上記の2つのオプションのいずれかが実行可能ですか、または他に試すことができるものはありますか?

0 投票する
1 に答える
321 参照

android - Viewpager の Class でページを変更します

友達。アプリケーションに ViewPager を作成しようとしています。ページを表示するページャー機能と、ページを切り替えるスライドを作成しました。しかし、メイン アクティビティ (NUM_PAGES = 3) で、すべてのクラス : クラス 1、2、および 3 を pageView に設定したいのですが、可能ですか?

ここに私の情報源があります:

したがって、右側にスライドするとクラス「2」(ページ 2) に変更され、もう一度右にスライドするとクラス「スリー」(ページ 3) に変更されます。

助けてください、よろしくお願いします:-)

0 投票する
1 に答える
3704 参照

android - ビューページャーの Android ビューの再利用

私は約100〜150のビューを持つビューページャーを使用するアプリに取り組んでいます.いくつかのビューには内部にWebビューがありますが、パフォーマンスは低いです.リストビューのビューホルダーパターンのようなビューを再利用する方法はありますか.同様の質問がここにありますが、私はアダプターを FragmentPagerAdapter に変換できません。

0 投票する
11 に答える
233903 参照

android - ViewPager とフラグメント — フラグメントの状態を保存する正しい方法は?

フラグメントは、UI ロジックをいくつかのモジュールに分離するのに非常に適しているようです。しかし、そのライフサイクルとともに、ViewPager私にはまだ霧がかかっています。ですから、グルの考えは非常に必要です!

編集

以下の愚かな解決策を参照してください;-)

範囲

メイン アクティビティにはViewPagerwith フラグメントがあります。これらのフラグメントは、他の (サブメイン) アクティビティに対して少し異なるロジックを実装できるため、フラグメントのデータはアクティビティ内のコールバック インターフェイスを介して満たされます。そして、最初の起動ではすべて正常に動作しますが、しかし!

問題

アクティビティが再作成されると (方向の変更など)、ViewPagerのフラグメントも再作成されます。コード(以下に記載)は、アクティビティが作成されるたびに、ViewPagerフラグメントと同じ新しいフラグメントアダプターを作成しようとすることを示しています(おそらくこれが問題です)が、 FragmentManager にはこれらすべてのフラグメントがすでにどこかに保存されています(どこに?)それらのレクリエーションメカニズムを開始します。したがって、再作成メカニズムは、アクティビティの実装メソッドを介してデータを開始するためのコールバック インターフェイス呼び出しを使用して、「古い」フラグメントの onAttach、onCreateView などを呼び出します。ただし、このメソッドは、アクティビティの onCreate メソッドを介して作成された、新しく作成されたフラグメントを指しています。

問題

間違ったパターンを使用しているのかもしれませんが、Android 3 Pro の本でさえ、それについてはあまり説明していません。ですから、ワンツーパンチを与えて、正しい方法を指摘してくださいどうもありがとう!

コード

主な活動

BasePagerActivity 別名ヘルパー

アダプタ

断片

解決

愚かな解決策は、(ホスト アクティビティの) onSaveInstanceState 内のフラグメントを putFragment で保存し、getFragment を介して onCreate 内に取得することです。しかし、私はまだ物事がそのように機能するべきではないという奇妙な感覚を持っています...以下のコードを参照してください:

0 投票する
3 に答える
4918 参照

android - ViewPagerとフラグメント—ネストされたフラグメントまたは..?を設計します。

ドキュメントは、フラグメントが別の方法で機能するように設計されているため、フラグメントをネストするべきではないと述べています。だが!

範囲

しかし、ViewPagerを使用していて、そのフラグメント(表示されている画面)を他のフラグメントから構築する必要がある場合はどうなりますか。メッセンジャーアプリがあるとしましょう。メイン画面には「最後のメッセージ」(MessagesFragment)と呼ばれるフラグメントを含むViewPagerがあり、サブメイン画面(たとえばディスカッションまたはチャットルーム)にもViewPagerがありますが、メッセージ画面はMessagesFragment、NewMessageBarFragment、および他の情報を含むヘッダーフラグメントで構成されています。

問題

そのためにViewPagerを使用するべきではなく、ViewFlowオープンソースライブラリを使用することもできますが、そのようなアクティビティで保持されているコードはフラグメントでも混乱していると私は信じています。また、MessagesFragment内のNewMessageBarとHeaderInfoのフラグメントではなく、余分なレイアウトを埋めるアプローチもありますが、私にとっては2倍醜いです。

質問

この特定の状況でネストされたフラグメントを使用しても大丈夫ですか?あなたは何をお勧めします?

更新

時々それは本当に「必須」機能です。だが!ほとんどの場合、「レスポンシブデザイン」の方法に従うことをお勧めします:http://www.slideshare.net/kirillcool/sensitive-mobile-design-in-practice