Dan*_* H. 28 android android-layout android-viewpager android-studio
是否可以在/ 或等ViewPager中显示AndroidStudio中的预览布局?ListViewRecyclerView
简短回答:不。
我认为您正在谈论 ViewPager 2 中的 ViewPager。我的答案将假设 ViewPager 2。请更新问题以澄清这一点。
<include
android:visibility="gone"
tools:visibility="visible"
layout="@layout/item_that_shows_inside_viewholder"/>
Run Code Online (Sandbox Code Playgroud)
我同意这是一种非常糟糕的方法。如果在约束布局中,您可以松散地匹配相同的约束,使其显示在顶部。是的,您将在生产代码中对此进行膨胀,因此您可能会导致性能下降,具体取决于您所拥有的内容。
非常不幸的是,它tools:layout不存在或无法正常工作(是的,我在尝试时得到了不一致的结果)。
isInEditMode在父类的代码上使用时尚的东西
class CustomView ....
init {
// inflate layout that contains ViewPager
if ( isInEditMode() ) {
//do something that replaces ViewPager with its inflated view holder
}
}
Run Code Online (Sandbox Code Playgroud)
当我可以使用它时,这对我很有帮助。但这并不适合大多数地方。
isInEditMode上面的方法扩展并做一些技巧。一种确实有效的方法是让您的自定义类扩展 FrameLayout 并拥有一个内部视图,即您的实际 ViewPager。但随后你必须重新实现并委托它的所有方法,这是一个很大的痛苦。也许 kotlin 有办法做到这一点,但到目前为止我不知道怎么做。或者也许使用反射或 kotlin 诗人可能是一种方法。这对我来说太冒险了。
isInEditMode上述操作,那么它就会起作用。但数据绑定适配器不会在预览中运行。这是当前工具属性的完整列表:https://developer.android.com/studio/write/tool-attributes.html#toolslistitem_toolslistheader_toolslistfooter
阅读此 Android XML 可能会有用有没有办法将工具命名空间与自定义属性一起使用?
其中提到了使用工具读取自定义属性的库。这个库可能有替代方案,但我从未使用过它,也不知道它是如何工作的: https: //github.com/giljulio/sneakpeek
我很乐意被证明是错误的,但在我看来,所有的选择都是死胡同或需要太多的努力。
| 归档时间: |
|
| 查看次数: |
2527 次 |
| 最近记录: |