viewpagerのページに3つのアイテムを表示することができますが、viewpagerのパディング値とマージン値のみを設定できるので、ビューページのページに1つのアイテムしか表示されません。商品の幅はどのように設定できますか?私はアイテムの幅をもっと小さくすることができれば、ビューページはページにもっと多くのアイテムを表示すると思います。ビューページャのアイテム幅を設定できますか?
答えて
ページの余白を負の値に設定しようとしましたか?setPageMargin(int)
を参照してください。私が正しく覚えていれば、あなたがそのように記述しているものに似た何かを実現する人を読んでいます。
Gallery
を代わりに使ってみることもできますが、柔軟性が低くバグが多いようですが、私は彼らの大ファンではないと認めなければなりません。
クイック回答
何が欲しいのはあなたがそのViewPager
のために作られたPagerAdapter
実装でgetPageWidth
をオーバーライドしています。
たとえば、これを0.8f
に設定すると、次のページおよび/または前のページの一部が表示されるように、1ページだけがビューページの幅の80%をカバーします。 https://developer.android.com/reference/android/support/v4/view/PagerAdapter.html#getPageWidth(int)
他の発言
で@Override
public float getPageWidth(final int position) {
return 0.8f;
}
詳しい情報はまた、負のマージンが唯一の別のページが重なってしまいますので注意してください。マージンは、各ページ間のスペースを定義するために使用されます。
代替ページ幅が設定されていない(セッターはなく、オーバーライドのみ)場合は、デフォルトで100%をカバーし、ドラッグされない限り他のページの部分は表示されません。何ができるかの
コード例
A非常に素晴らしい概要は、あなたのレイアウトで、ここhttps://commonsware.com/blog/2012/08/20/multiple-view-viewpager-options.html
ビューページャインライン構成されたアダプタ実装の
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
例を見つけることができ、これは希望onCreateメソッドまたはonViewCreatedメソッドに入ります。
// get a reference to the viewpager in your layout
ViewPager mViewPager = (ViewPager) findViewById(R.id.viewpager);
// this margin defines the space between the pages in the viewpager mViewPager.setPageMargin(context.getResources().getDimensionPixelSize(R.dimen.margin_normal));
// setting the adapter on the viewpager, this could/should be a proper Adapter implementation in it's own class file instead
mViewPager.setAdapter(new PagerAdapter() {
// just example data to show, 3 pages
String[] titles = {"Eins", "Zwei", "Drei"};
int[] layouts = {R.layout.layout1, R.layout.layout2, R.layout.layout3};
@Override
public Object instantiateItem(ViewGroup container, int position) {
LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
// here you can inflate your own view and dress up
ViewGroup layout = (ViewGroup) inflater.inflate(layouts[position], container, false);
container.addView(layout);
return layout;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View)object);
}
@Override
public float getPageWidth(final int position) {
return 0.8f;
}
@Override
public CharSequence getPageTitle(int position) {
return titles[position];
}
@Override
public int getCount() {
return layouts.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
});
例のコードはhttps://newfivefour.com/android-viewpager-simple-views.html
コモンウェアリンク(2番目のもの)が助けになります! –
- 1. ConstraintLayout - ビューページャの幅
- 2. Android Drawableアイテムの幅を設定しますか?
- 3. アイテムの高さをアイテムの幅と同じに設定する
- 4. ビューページャのテキスト機能を設定
- 5. SSRSでパラメータの幅を手動で設定できますか?
- 6. パンダで可変の列幅を設定できますか?
- 7. jquery-confirmで幅を設定できませんでしたか?
- 8. jqgrid - 列の最小幅を設定できます
- 9. 要素の幅をパーセントで設定することはできますか?
- 10. jQGridの幅をパーセンテージで設定することはできますか?
- 11. 角度プロジェクトでブートストラップポップオーバーの幅を設定できません
- 12. ページ付きAppleScript:個々の列の幅を設定できませんか?
- 13. HTMLでラベルの幅をCSSで設定しますか?
- 14. Java出力の列幅を設定することはできますか?
- 15. 私のHTMLテーブルはTHの幅でのみサイズ設定できますか?
- 16. webkit-scrollbar-thumbの幅を設定できません
- 17. html divの幅を設定できません
- 18. gridviewのバインドされた列幅を設定できません
- 19. ChartJSキャンバスの幅を設定できません
- 20. 選択タグの幅を設定できません
- 21. 進捗ダイアログの寸法(幅)とその方法を設定できますか?
- 22. 異なるCALayerのボーダー幅を別の側に設定できますか?
- 23. sap.m.MenuButtonの幅を設定します
- 24. jqueryダイアログボックスで位置と幅を設定することはできますか?
- 25. IEでボディ幅を設定できません
- 26. Unity3Dカメラの視野幅と高さを設定できますか?
- 27. CSSのみで動的な幅を設定しますか?
- 28. divを最大幅のコンテンツの幅に設定します
- 29. AlertDialog内のタブ付きビューページャ
- 30. 条件付きグリッド列の幅を設定します。
回答をいただきありがとうございます。親ビューにリストを追加する必要があるためギャラリーを使用できません。ギャラリーには問題があります。 –
ありがとう、あなたの理想によって達成されました。 –
これは、スライドの一部が手で触れることができないようにします。その前の項目は重複するため、 –