如何在Kotlin中访问根视图?

时间:2019-08-06 08:39:08

标签: android kotlin

如何像在Java中那样获得对根视图的访问权限,例如:

我知道使用kotlin扩展,我们不再需要使用findViewById,但是我不知道如何处理它。谢谢您的帮助。

final ViewGroup viewGroup =
                (ViewGroup) ((ViewGroup)findViewById(android.R.id.content)).getChildAt(0);
        if (viewGroup instanceof ConstraintLayout) {
         // some logic code
}

2 个答案:

答案 0 :(得分:1)

您还可以这样访问split()

split(':')

所以在rootView

View rootView = getWindow().getDecorView().getRootView();

答案 1 :(得分:0)

只需将一个id放在根上,然后像访问其他Views一样访问它。示例:

<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        **android:id="@+id/mRootView"**
        android:background="#000000"
        tools:context=".MainActivity">

并且比MainActivity(或WhateverActivity / Fragment)中的要好:

val rootView = mRootView