在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → ANDROID. ChipsLayoutManager:RecyclerView的自定义布局管理器

ANDROID. ChipsLayoutManager:RecyclerView的自定义布局管理器

一般编程问题

下载此实例

实例介绍

【实例简介】
ChipsLayoutManager是一个自定义的Recycler View布局管理器,当当前行没有空间时,将项目移动到下一行。它可以代表Google Chips材料设计模式。本文介绍了ChipsLayoutManager的设置、用法和特性。

【实例截图】

from clipboard


from clipboard

【核心代码】
文件清单
└── ChipsLayoutManager-af33b9c747119f266aeaf5ddafdc1d34a9e3c900
    ├── build.gradle
    ├── ChipsLayoutManager
    │   ├── build.gradle
    │   ├── proguard-rules.pro
    │   └── src
    │       ├── androidTest
    │       │   └── java
    │       │       └── com
    │       │           └── beloo
    │       │               └── widget
    │       │                   └── chipslayoutmanager
    │       │                       ├── gravity
    │       │                       │   ├── BottomGravityModifierTest.java
    │       │                       │   ├── CenterInRowGravityModifierTest.java
    │       │                       │   ├── GravityDataProvider.java
    │       │                       │   ├── GravityModifierTest.java
    │       │                       │   ├── RowGravityModifiersFactoryTest.java
    │       │                       │   └── TopGravityModifierTest.java
    │       │                       └── ParamsType.java
    │       ├── main
    │       │   ├── AndroidManifest.xml
    │       │   └── java
    │       │       └── com
    │       │           └── beloo
    │       │               └── widget
    │       │                   └── chipslayoutmanager
    │       │                       ├── anchor
    │       │                       │   ├── AbstractAnchorFactory.java
    │       │                       │   ├── AnchorViewState.java
    │       │                       │   ├── ColumnsAnchorFactory.java
    │       │                       │   ├── IAnchorFactory.java
    │       │                       │   └── RowsAnchorFactory.java
    │       │                       ├── cache
    │       │                       │   ├── CacheParcelableContainer.java
    │       │                       │   ├── IViewCacheStorage.java
    │       │                       │   ├── ViewCacheFactory.java
    │       │                       │   └── ViewCacheStorage.java
    │       │                       ├── ChildViewsIterable.java
    │       │                       ├── ChipsLayoutManager.java
    │       │                       ├── DeviceOrientation.java
    │       │                       ├── DisappearingViewsManager.java
    │       │                       ├── gravity
    │       │                       │   ├── BottomGravityModifier.java
    │       │                       │   ├── CenterChildGravity.java
    │       │                       │   ├── CenterInColumnGravityModifier.java
    │       │                       │   ├── CenterInRowGravityModifier.java
    │       │                       │   ├── ColumnFillSpaceCenterDenseStrategy.java
    │       │                       │   ├── ColumnFillSpaceCenterStrategy.java
    │       │                       │   ├── ColumnFillSpaceStrategy.java
    │       │                       │   ├── ColumnFillStrategy.java
    │       │                       │   ├── ColumnGravityModifiersFactory.java
    │       │                       │   ├── ColumnStrategyFactory.java
    │       │                       │   ├── CustomGravityResolver.java
    │       │                       │   ├── EmptyRowStrategy.java
    │       │                       │   ├── GravityUtil.java
    │       │                       │   ├── IChildGravityResolver.java
    │       │                       │   ├── IGravityModifier.java
    │       │                       │   ├── IGravityModifiersFactory.java
    │       │                       │   ├── IRowStrategyFactory.java
    │       │                       │   ├── IRowStrategy.java
    │       │                       │   ├── LeftGravityModifier.java
    │       │                       │   ├── LTRRowFillSpaceCenterDenseStrategy.java
    │       │                       │   ├── LTRRowFillSpaceCenterStrategy.java
    │       │                       │   ├── LTRRowFillSpaceStrategy.java
    │       │                       │   ├── LTRRowFillStrategy.java
    │       │                       │   ├── LTRRowStrategyFactory.java
    │       │                       │   ├── RightGravityModifier.java
    │       │                       │   ├── RowGravityModifiersFactory.java
    │       │                       │   ├── RTLRowFillSpaceCenterDenseStrategy.java
    │       │                       │   ├── RTLRowFillSpaceCenterStrategy.java
    │       │                       │   ├── RTLRowFillSpaceStrategy.java
    │       │                       │   ├── RTLRowFillStrategy.java
    │       │                       │   ├── RTLRowStrategyFactory.java
    │       │                       │   ├── SkipLastRowStrategy.java
    │       │                       │   ├── StrategyDecorator.java
    │       │                       │   └── TopGravityModifier.java
    │       │                       ├── HorizontalScrollingController.java
    │       │                       ├── IBorder.java
    │       │                       ├── IChipsLayoutManagerContract.java
    │       │                       ├── IDisappearingViewsManager.java
    │       │                       ├── IPositionsContract.java
    │       │                       ├── IScrollingContract.java
    │       │                       ├── IScrollingController.java
    │       │                       ├── IStateHolder.java
    │       │                       ├── layouter
    │       │                       │   ├── AbstractLayouter.java
    │       │                       │   ├── AbstractPositionIterator.java
    │       │                       │   ├── breaker
    │       │                       │   │   ├── BackwardBreakerContract.java
    │       │                       │   │   ├── CacheRowBreaker.java
    │       │                       │   │   ├── ColumnBreakerFactory.java
    │       │                       │   │   ├── DecoratorBreakerFactory.java
    │       │                       │   │   ├── EmptyRowBreaker.java
    │       │                       │   │   ├── ForwardBreakerContract.java
    │       │                       │   │   ├── IBreakerFactory.java
    │       │                       │   │   ├── ILayoutRowBreaker.java
    │       │                       │   │   ├── IRowBreaker.java
    │       │                       │   │   ├── LTRBackwardColumnBreaker.java
    │       │                       │   │   ├── LTRBackwardRowBreaker.java
    │       │                       │   │   ├── LTRForwardColumnBreaker.java
    │       │                       │   │   ├── LTRForwardRowBreaker.java
    │       │                       │   │   ├── LTRRowBreakerFactory.java
    │       │                       │   │   ├── MaxViewsBreaker.java
    │       │                       │   │   ├── RowBreakerDecorator.java
    │       │                       │   │   ├── RTLBackwardRowBreaker.java
    │       │                       │   │   ├── RTLForwardRowBreaker.java
    │       │                       │   │   └── RTLRowBreakerFactory.java
    │       │                       │   ├── ColumnsCreator.java
    │       │                       │   ├── ColumnSquare.java
    │       │                       │   ├── ColumnsStateFactory.java
    │       │                       │   ├── criteria
    │       │                       │   │   ├── AbstractCriteriaFactory.java
    │       │                       │   │   ├── ColumnsCriteriaFactory.java
    │       │                       │   │   ├── CriteriaAdditionalRow.java
    │       │                       │   │   ├── CriteriaDownAdditionalHeight.java
    │       │                       │   │   ├── CriteriaDownLayouterFinished.java
    │       │                       │   │   ├── CriteriaLeftAdditionalWidth.java
    │       │                       │   │   ├── CriteriaLeftLayouterFinished.java
    │       │                       │   │   ├── CriteriaPolitePositionReached.java
    │       │                       │   │   ├── CriteriaRightAdditionalWidth.java
    │       │                       │   │   ├── CriteriaRightLayouterFinished.java
    │       │                       │   │   ├── CriteriaUpAdditionalHeight.java
    │       │                       │   │   ├── CriteriaUpLayouterFinished.java
    │       │                       │   │   ├── EmtpyCriteria.java
    │       │                       │   │   ├── FinishingCriteriaDecorator.java
    │       │                       │   │   ├── ICriteriaFactory.java
    │       │                       │   │   ├── IFinishingCriteria.java
    │       │                       │   │   ├── InfiniteCriteriaFactory.java
    │       │                       │   │   ├── InfiniteCriteria.java
    │       │                       │   │   ├── PreLayoutCriteriaFactory.java
    │       │                       │   │   └── RowsCriteriaFactory.java
    │       │                       │   ├── DecrementalPositionIterator.java
    │       │                       │   ├── ICanvas.java
    │       │                       │   ├── ILayouterCreator.java
    │       │                       │   ├── ILayouter.java
    │       │                       │   ├── ILayouterListener.java
    │       │                       │   ├── IMeasureSupporter.java
    │       │                       │   ├── IncrementalPositionIterator.java
    │       │                       │   ├── IOrientationStateFactory.java
    │       │                       │   ├── IStateFactory.java
    │       │                       │   ├── Item.java
    │       │                       │   ├── LayouterFactory.java
    │       │                       │   ├── LeftLayouter.java
    │       │                       │   ├── LTRDownLayouter.java
    │       │                       │   ├── LTRRowsCreator.java
    │       │                       │   ├── LTRRowsOrientationStateFactory.java
    │       │                       │   ├── LTRUpLayouter.java
    │       │                       │   ├── MeasureSupporter.java
    │       │                       │   ├── placer
    │       │                       │   │   ├── AbstractPlacer.java
    │       │                       │   │   ├── DisappearingPlacerFactory.java
    │       │                       │   │   ├── DisappearingViewAtEndPlacer.java
    │       │                       │   │   ├── DisappearingViewAtStartPlacer.java
    │       │                       │   │   ├── IPlacerFactory.java
    │       │                       │   │   ├── IPlacer.java
    │       │                       │   │   ├── PlacerFactory.java
    │       │                       │   │   ├── RealAtEndPlacer.java
    │       │                       │   │   ├── RealAtStartPlacer.java
    │       │                       │   │   └── RealPlacerFactory.java
    │       │                       │   ├── RightLayouter.java
    │       │                       │   ├── RowSquare.java
    │       │                       │   ├── RowsStateFactory.java
    │       │                       │   ├── RTLDownLayouter.java
    │       │                       │   ├── RTLRowsCreator.java
    │       │                       │   ├── RTLRowsOrientationStateFactory.java
    │       │                       │   ├── RTLUpLayouter.java
    │       │                       │   └── Square.java
    │       │                       ├── Orientation.java
    │       │                       ├── ParcelableContainer.java
    │       │                       ├── RowStrategy.java
    │       │                       ├── ScrollingController.java
    │       │                       ├── SpacingItemDecoration.java
    │       │                       ├── SpanLayoutChildGravity.java
    │       │                       ├── util
    │       │                       │   ├── AssertionUtils.java
    │       │                       │   ├── LayoutManagerUtil.java
    │       │                       │   ├── log
    │       │                       │   │   ├── AndroidLog.java
    │       │                       │   │   ├── FillLogger.java
    │       │                       │   │   ├── IFillLogger.java
    │       │                       │   │   ├── LoggerFactory.java
    │       │                       │   │   ├── Log.java
    │       │                       │   │   ├── LogSwitcherFactory.java
    │       │                       │   │   ├── LogWrapper.java
    │       │                       │   │   └── SilentLog.java
    │       │                       │   ├── StateHelper.java
    │       │                       │   └── testing
    │       │                       │       ├── EmptySpy.java
    │       │                       │       └── ISpy.java
    │       │                       └── VerticalScrollingController.java
    │       └── test
    │           └── java
    │               └── com
    │                   └── beloo
    │                       └── widget
    │                           └── chipslayoutmanager
    │                               └── layouter
    │                                   ├── AbstractPositionIteratorTest.java
    │                                   ├── DecrementalPositionIteratorTest.java
    │                                   └── IncrementalPositionIteratorTest.java
    ├── debug.jks
    ├── gradle
    │   ├── AndroidStudioProjects - Shortcut.lnk
    │   └── wrapper
    │       ├── gradle-wrapper.jar
    │       └── gradle-wrapper.properties
    ├── gradle.properties
    ├── gradlew
    ├── gradlew.bat
    ├── images
    │   ├── demo.gif
    │   ├── for_android.svg
    │   ├── header.png
    │   ├── insert_delete_animations.gif
    │   ├── ltr_horizontal.png
    │   ├── ltr_vertical.png
    │   ├── move_animations.gif
    │   └── rtl_horizontal.png
    ├── LICENSE
    ├── projectFilesBackup
    ├── README.MD
    ├── sample
    │   ├── build.gradle
    │   ├── google-services.json
    │   ├── proguard-rules.pro
    │   └── src
    │       ├── androidTest
    │       │   ├── AndroidManifest.xml
    │       │   └── java
    │       │       └── com
    │       │           └── beloo
    │       │               ├── chipslayoutmanager
    │       │               │   └── sample
    │       │               │       └── ui
    │       │               │           ├── ChipsFacade.java
    │       │               │           ├── FewChipsFacade.java
    │       │               │           ├── IItemsFacade.java
    │       │               │           ├── LayoutManagerFactory.java
    │       │               │           └── TestActivity.java
    │       │               ├── test
    │       │               │   └── util
    │       │               │       └── RecyclerViewEspressoFactory.java
    │       │               └── widget
    │       │                   └── chipslayoutmanager
    │       │                       ├── ColumnTest.java
    │       │                       ├── FewChipsColumnTest.java
    │       │                       ├── FewChipsRowTest.java
    │       │                       ├── RowTest.java
    │       │                       ├── RTLRowTest.java
    │       │                       ├── support
    │       │                       │   ├── BiConsumer.java
    │       │                       │   ├── Consumer.java
    │       │                       │   └── Supplier.java
    │       │                       └── util
    │       │                           ├── ActionDelegate.java
    │       │                           ├── Action.java
    │       │                           └── InstrumentalUtil.java
    │       └── main
    │           ├── AndroidManifest.xml
    │           ├── java
    │           │   └── com
    │           │       └── beloo
    │           │           └── chipslayoutmanager
    │           │               └── sample
    │           │                   ├── Application.java
    │           │                   ├── CircleTransform.java
    │           │                   ├── entity
    │           │                   │   └── ChipsEntity.java
    │           │                   └── ui
    │           │                       ├── adapter
    │           │                       │   ├── ChipsAdapter.java
    │           │                       │   └── RecyclerViewAdapter.java
    │           │                       ├── BottomSheetDialogFragment.java
    │           │                       ├── BottomSheetFragment.java
    │           │                       ├── ChipsFactory.java
    │           │                       ├── IItemsFactory.java
    │           │                       ├── ItemsFactory.java
    │           │                       ├── ItemsFragment.java
    │           │                       ├── MainActivity.java
    │           │                       ├── OnRemoveListener.java
    │           │                       ├── ShortChipsFactory.java
    │           │                       └── TallChipsFactory.java
    │           └── res
    │               ├── drawable
    │               │   ├── rounded_blue.xml
    │               │   ├── rounded_red.xml
    │               │   ├── rounded.xml
    │               │   ├── shape_oval.xml
    │               │   ├── vector_cancel_24dp.xml
    │               │   ├── vector_cancel_white_24dp.xml
    │               │   └── vector_sync_black_24dp.xml
    │               ├── drawable-nodpi
    │               │   ├── anonymous.png
    │               │   ├── batman.png
    │               │   ├── china_girl.png
    │               │   ├── girl1.png
    │               │   ├── girl2.png
    │               │   ├── girl3.PNG
    │               │   ├── girl4.png
    │               │   ├── girl5.png
    │               │   └── karl.png
    │               ├── layout
    │               │   ├── activity_main.xml
    │               │   ├── activity_test.xml
    │               │   ├── fragment_bottom_sheet_modal.xml
    │               │   ├── fragment_bottom_sheet.xml
    │               │   ├── fragment_items.xml
    │               │   ├── item_chip.xml
    │               │   ├── item_increased.xml
    │               │   └── item_simple.xml
    │               ├── mipmap-hdpi
    │               │   └── ic_launcher.png
    │               ├── mipmap-mdpi
    │               │   └── ic_launcher.png
    │               ├── mipmap-xhdpi
    │               │   └── ic_launcher.png
    │               ├── mipmap-xxhdpi
    │               │   └── ic_launcher.png
    │               ├── mipmap-xxxhdpi
    │               │   └── ic_launcher.png
    │               ├── values
    │               │   ├── colors.xml
    │               │   ├── dimens.xml
    │               │   ├── strings.xml
    │               │   └── styles.xml
    │               └── values-w820dp
    │                   └── dimens.xml
    ├── settings.gradle
    └── video
        └── insert_delete_animations.mp4

73 directories, 258 files

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警