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

ユーザーがスワイプできる子ビューのレイアウトを管理するViewGroup。

9
Android ViewPager-左右にページのプレビューを表示
Androidを使用していますViewPager。私がしたいことは、ページのプレビューを左右両方に表示することです。ネガpageMarginを使用して右側のプレビューを表示できる場所を見てきました。 setPageMargin(-100); とにかく左側のプレビューも表示できますか?基本的には、私が探しているギャラリーウィジェットに似ています。

8
Androidアプリの透明なデモ画面をどのように作成しますか?
ユーザーが初めてアプリケーションをインストールしたときにのみ起動する半透明のデモ画面を作成しようとしています。以下は、Pulse Newsアプリの例です。 Galaxy Nexus Nexus One 「タップして閉じる」機能の代わりに、ユーザーがこのような透明なデモページをいくつかスワイプできるようにしたいと考えています。 最初の試みとして、ViewPagerIndicatorライブラリのサンプルを変更しました。ビューページャーの各フラグメント内のImageViewで半透明のPNGを使用しました。次に、これを「メインアクティビティ」のonCreateメソッドの「デモアクティビティ」として起動しました。 問題:「メインアクティビティ」がバックグラウンドで表示されず、代わりに真っ黒でした。ここで解決策を試しましたが、問題は解決しませんでした。 このようなものを作成するためのより良いアプローチはありますか、それとも私は正しい軌道に乗っていますか? また、これがどのように実装されるかに依存する別の関連する質問がありました。テキストと矢印をオーバーレイして、バックグラウンドの特定のUIコンポーネントを指すようにしています。テキストと矢印のあるPNGを使用すると、さまざまなデバイスで適切に拡大縮小されない可能性があります。つまり、矢印は必ずしもバックグラウンドの正しいUIコンポーネントを指しているとは限りません。この問題にも取り組む方法はありますか? ありがとう! 最初の試行のコードは次のとおりです。 DemoActivity.java public class DemoActivity extends FragmentActivity { DemoFragmentAdapter mAdapter; ViewPager mPager; PageIndicator mIndicator; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.demo_activity); mAdapter = new DemoFragmentAdapter(getSupportFragmentManager()); mPager = (ViewPager)findViewById(R.id.pager); mPager.setAdapter(mAdapter); //mPager.setAlpha(0); UnderlinePageIndicator indicator = (UnderlinePageIndicator)findViewById(R.id.indicator); indicator.setViewPager(mPager); indicator.setFades(false); mIndicator …

11
ViewPager.setOffscreenPageLimit(0)が期待どおりに機能しない
ViewPagerインスタンスで使用するフラグメントはかなりのリソースを消費するため、一度に1つだけロードしたいと思います。私が次のことを試みると: mViewPager.setOffscreenPageLimit(0); mViewPager.setAdapter(mPagerAdapter); 私のFragmentStatePagerAdapter.getItem(int position)オーバーライド関数は3回呼び出されますmViewPager.setOffscreenPageLimit(1)。これは、を呼び出したときに発生します。オフスクリーンページを0に指定したので、1回だけ呼び出されると思います。 私は、私が呼び出した場合ので、私は、すべてを正しく呼んでいると信じてmViewPager.setOffscreenPageLimit(2)、FragmentStatePagerAdapter.getItem(int position)私が期待するように5回と呼ばれています。 ViewPagerには少なくとも1つのオフスクリーンページが必要ですか、それともここで何か問題がありますか?

13
FragmentPagerAdapterを使用したViewPagerのフラグメントは、2回目に表示されたときに空白になります
メインビューでさまざまなフラグメントを開く下部にタブがあるフラグメントインターフェイスがあります。 アイテムのリストである特定のフラグメントがあります。ユーザーがこのリストの項目の1つを選択すると、前のフラグメントのリストのすべての項目間を水平方向にスクロールするビューページャーを含む別のフラグメントが開きます。これはうまくいきます。 ビューページャーは、FragmentPagerAdapterを使用してアイテムを表示します。 問題は、ユーザーがリスト内のアイテムを選択して表示し、タブバーのボタンを押してリストに戻り、別のアイテムを選択したときに発生します。2回目にアイテムを選択すると、ビューページャーの代わりに空白の画面が表示されます。これが発生しても、LogCatにエラーは表示されません。 ビューページャーが初めてしか表示されないのはなぜですか? FragmentPagerAdapter: public class ViewPagerAdapter extends FragmentPagerAdapter { Cursor mCursor; public ViewPagerAdapter(FragmentManager fm, Cursor c) { super(fm); mCursor = c; } public void changeCursor(Cursor c) { mCursor = c; this.notifyDataSetChanged(); } @Override public int getCount() { if (mCursor == null) return 0; else return mCursor.getCount(); } …

9
Google Maps API v2を備えたViewPager:神秘的な黒いビュー
新しいgoogle maps api v2フラグメントをビューページャーに統合しました。マップフラグメントからスクロールすると、黒いビューが隣接するフラグメントに重なります。誰かが解決しましたか? 編集:スクリーンショット public static class PagerAdapter extends FragmentPagerAdapter{ public PagerAdapter(FragmentManager fm) { super(fm); } @Override public int getCount() { return NUM_ITEMS; } @Override public Fragment getItem(int position) { Fragment pageFragment; switch (position) { case 0: pageFragment = new TabAFragment(); break; case 1: pageFragment = new TabBFragment(); break; …

8
SwipeRefreshLayout + ViewPager、水平スクロールのみを制限しますか?
私はアプリに実装SwipeRefreshLayoutしViewPagerましたが、大きな問題があります。ページを切り替えるために左/右にスワイプするたびに、スクロールが非常に敏感です。少し下にスワイプすると、SwipeRefreshLayout更新もトリガーされます。 水平スワイプを開始する時間に制限を設定し、スワイプが終了するまで水平方向に強制します。つまり、指が水平方向に動いているときの垂直方向のスワイプをキャンセルしたいのです。 この問題はでのみ発生します。ViewPager下にスワイプしてSwipeRefreshLayout更新機能がトリガーされ(バーが表示されます)、指を水平方向に動かしても、垂直方向のスワイプしかできません。 ViewPagerクラスを拡張しようとしましたが、まったく機能していません。 public class CustomViewPager extends ViewPager { public CustomViewPager(Context ctx, AttributeSet attrs) { super(ctx, attrs); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { boolean in = super.onInterceptTouchEvent(ev); if (in) { getParent().requestDisallowInterceptTouchEvent(true); this.requestDisallowInterceptTouchEvent(true); } return false; } } レイアウトxml: <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/viewTopic" android:layout_width="match_parent" android:layout_height="match_parent"> <com.myapp.listloader.foundation.CustomViewPager android:id="@+id/topicViewPager" android:layout_width="match_parent" android:layout_height="match_parent"/> </android.support.v4.widget.SwipeRefreshLayout> どんな助けでも感謝します、ありがとう

9
ScrollView内のViewPagerが相関関係をスクロールしない
いくつかのコンポーネントを含む「ページ」があり、そのコンテンツはデバイスの高さよりも長いです。すべてのレイアウト(ページ全体)を内に配置するだけでScrollView問題ありません。 コンポーネントの1つはViewPagerです。これは正しくレンダリングされますが、スワイプ/フリングへの応答が正しく実行されず、ジッターで常に機能するとは限りません。と「混同」しているように見えるScrollViewので、正確な水平線でフリングすると100%しか機能しません。 を削除するScrollViewと、ViewPagerは完全に応答します。 私は周りを検索しましたが、これを既知の欠陥として発見していません。他の誰かがこれを経験しましたか? プラットフォームバージョン:1.6 互換性ライブラリv4。 デバイス:HTC Incredible S 以下は、テストするコードの例ですScrollView。コメントアウトして、正しく機能することを確認してください。 アクティビティ: package com.ss.activities; import com.ss.R; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; import android.widget.TextView; public class PagerInsideScollViewActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ViewPager vp = …

13
ViewPagerはコンテンツを再描画せず、空白のまま/空白にします
ここでは、ViewPagerで非常に奇妙な問題が発生しています。各ViewPagerページにリストを埋め込み、リストデータを更新するときに、リストアダプターとビューページャーアダプターの両方でnotifyDataSetChangedをトリガーします。 私たちが観察しているのは、ページがビューツリーを更新しない、つまり空白のままである、またはページング時にページが消えることさえあるということです。数回ページングを行うと、コンテンツが突然再表示されます。Androidにはここでビューの更新がないようです。また、階層ビューアを使用してデバッグする場合、ビューを選択すると常に再表示されることに気付きました。これは、階層ビューアが選択したビューを強制的に再描画するためと思われます。 ただし、プログラムでこの作業を行うことはできませんでした。リストビュー、またはビューページャー全体を無効にしても効果はありませんでした。 これは互換性ありです-v4_r7ライブラリ。また、ビューページャーに関連する多くの問題を修正すると主張しているため、最新のリビジョンを使用しようとしましたが、事態はさらに悪化しました(たとえば、ジェスチャーが壊れて、すべてのページをページングできなくなることがありました)。 他の誰かもこれらの問題に遭遇していますか、それともこれを引き起こしている可能性があるものについての考えがありますか?

4
ViewPagerの現在位置を取得する
ギャラリーウィジェットでgetSelectedItemPosition()を使用できたことを知っています。現在の位置を取得しますが、ViewPagerにはそれがないようです。 リスナーを設定して、ページが切り替わったときに位置を取得できることはわかっています。しかし、現在のビュー位置が必要です。

8
Android用ViewPagerの現在のページ番号を取得するにはどうすればよいですか?
の現在のページ位置を知りたいViewPager。アダプターを作成し、このアダプターをに設定しViewPagerます。その特定のページでいくつかの追加のイベントを開始したいので、現在のページ番号または現在のビューの位置を知りたいと思います。 viewPager.setCurrentItem(1);最初の項目の設定に使用しました。 現在のページを取得するための同様の方法はありますか?

2
Dagger 2を使用してViewPager内に同じフラグメントのViewModelを挿入する方法
プロジェクトにDagger 2を追加しようとしています。フラグメントにViewModels(AndroidXアーキテクチャコンポーネント)を注入することができました。 私が持っている同じフラグメントの2つのインスタンスがあるViewPager(各タブの軽微な変更)と、各タブで、私が観察していますLiveData(API)からのデータの変更に更新されますすることを。 問題は、API応答が来てを更新するとLiveData、現在表示されているフラグメントの同じデータがすべてのタブのオブザーバーに送信されることです。(これはおそらくのスコープが原因であると思いますViewModel)。 これは私が私のデータを観察している方法です: override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) activityViewModel.expenseList.observe(this, Observer { swipeToRefreshLayout.isRefreshing = false viewAdapter.setData(it) }) .... } このクラスを使用してViewModels を提供しています: class ViewModelProviderFactory @Inject constructor(creators: MutableMap<Class<out ViewModel?>?, Provider<ViewModel?>?>?) : ViewModelProvider.Factory { private val creators: MutableMap<Class<out ViewModel?>?, Provider<ViewModel?>?>? = creators override fun <T : ViewModel?> create(modelClass: Class<T>): T { …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.