我不了解inflate方法的第三个参数的true与false之间的主要区别

艾哈迈德

我不了解inflate方法的第三个参数truefalse的主要区别,没有任何有用的示例。

索尔姆

假设我们有一个非常简单的布局:

view_red_square.xml

<?xml version="1.0" encoding="utf-8"?>
<View xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:background="#FA8072" />

我们主要活动使用的布局是:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
</FrameLayout>

现在,让我们尝试增加view_red_square.xml布局MainActivity并了解发生了什么。

MainActivity.kt

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val container = findViewById<FrameLayout>(R.id.container)
        val inflatedView = layoutInflater.inflate(R.layout.view_red_square, container, false)
        Toast.makeText(this, "Is the view inflated: $inflatedView", Toast.LENGTH_SHORT).show()
    }
}

LayoutInflater.inflate作为文档指向,第三个boolean参数代表:

attachToRoot:是否应将扩展的层次结构附加到root参数?如果为false,则root仅用于为XML中的根视图创建LayoutParams的正确子类。

因此,回到我们的主要活动。false布尔值指示充气视图不应被加入到root,在同时指定充气法。

将以上代码用于MainActivity我们可以使用布局检查器来验证在将视图attachToRoot设置为时,是否将视图未添加到容器false

将视图添加到容器的解决方案是使用手动将视图添加到视图组container.addView(inflatedView)

使用布局检查器附加到根false

现在,让我们看看将attachToRoot布尔值切换为时会发生什么true让我们再次使用布局检查器。

val inflatedView = layoutInflater.inflate(R.layout.view_red_square, container, true)

使用布局检查器附加到true

如您所见,视图现已添加到root我们的容器。因此,我们可以得出结论,attachToRoot如果膨胀视图的值为,则将膨胀视图添加到给定的根true

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

第三个参数(false)在document.addEventListener(“ deviceready”,OnDeviceReady,false)中指示什么;

不建议将编码作为第三个参数传递。使用明确的零偏移

has_many:通过不创建我的第三个模型

Apache HttpClient 不执行第三个请求

np.r_的第三个参数?(numpy)

Golang:Make函数和第三个参数

Haskell showFFloat的第三个参数

如何获取Exception OSError的第三个参数?

python ipow:如何使用第三个参数?

showModalDialog第三个参数错误

htaccess第三个参数不起作用

collect方法的第三个参数(组合器)如何使用?

Java:具有主要方法的两个类访问相同的第三个类

mpandroidchart 我想获得第三个值

第三个片段的调用方法时出错

方法中第三个返回语句的原因

替换第三个值

我为什么不能在Java的for循环的第三个参数中使用?:运算符?

我怎么知道什么选项可用作SonataAdminBundle中ListMapper-> add()的第三个参数

Java HashMap - 如何创建第三个参数来存储我的用户数量

了解Scott Meyers的第三个std :: weak_ptr示例

熊猫:按两个参数分组并按第三个参数排序

可观察到的http.get上的Subscribe方法:第三个参数是什么?

Symfony表单组件。作为FormBuilderInterface :: add()方法的第三个参数,所有可用选项是什么

如何在对XPLAN API的CURL请求中构造edai.Search方法的第三个参数?

rxJs三个可观测值,前两个响应作为第三个参数

删除第二个和第三个冒号之间的文本

第三个测试用例 PHP for 循环不递增

在开始日期和结束日期之间获取每月的第三个星期六