从代码配置CoordinatorLayout

Tai*_*aig 2 android android-layout android-coordinatorlayout

我正在动态地将内容视图注入到CoordinatorLayout现在,并且现在想要将layout_below属性应用于注入的视图,以便它不会隐藏在后面AppBar.

有没有办法在运行时从代码而不是注释的xml属性执行此操作?

Tai*_*aig 5

退后一步,用普通的xml构建整个视图,我意识到这layout_below不是我的用例所需的属性:将内容视图放在应用栏下面.我在问题中没有说清楚,因为我认为layout_below这是适当的选择.

实际上,要将非滚动视图插入其中CoordinatorLayout,应首先用a包裹android.support.v4.widget.NestedScrollView.然后,为了避免其内容隐藏在应用栏后面,有必要将其行为更新为android.support.design.widget.AppBarLayout.ScrollingViewBehavior.否则,将使用默认行为,该行为将隐藏在应用栏后面.

val viewToInsert = getLayoutInflater.inflate( id, coordinatorWrapper, false )
val p = viewToInsert.getLayoutParams.asInstanceOf[Coordinator.LayoutParams]
p.setBehavior( new ScrollingViewBehavior )
coordinatorWrapper.addView( viewToInsert, 1, p )
Run Code Online (Sandbox Code Playgroud)