gpt4 book ai didi

Android 自定义 LinearLayout 和膨胀 xml

转载 作者:太空狗 更新时间:2023-10-29 15:16:35 28 4
gpt4 key购买 nike

我有一个 xml 布局,当它膨胀到一个 View 对象中时,布局会按预期显示。但是,我创建了一个自定义 LinearLayout 类,并在使用

创建该类的实例时膨胀 xml 布局
LayoutInflater.from(context).inflate(R.layout.icon_item, this, true);

在构造函数中。我没有在自定义 LinearLayout 类上设置任何 LayoutParams 或任何内容,当我尝试显示自定义类时,似乎有一些奇怪的边距切断了一些布局里面的文本。

我想知道是否有任何方法可以设置自定义 LinearLayout 使其对布局 xml 没有影响,而只是作为一个不可见的容器。我认为在膨胀时将“attachToRoot”设置为 true 会解决这个问题,但没有按预期工作。

最佳答案

使用 inflate(..) 时attachToRoot = true,这相当于将 XML 物理放置在 ViewGroup 中,如下所示:

<LinearLayout ..>
<TextView .. />
</LinearLayout>

也意味着当 measureLinearLayout 布置和布局它将继承您正在膨胀的 xml 布局中强加的任何布局属性。

所以如果你<TextView..>包含 android:layout_margin="8dp"padding例如那么你的 CustomLinearLayout还将使用这些 Layout 布局 View 属性。

如果您希望我为您修复/创建更好的解决方案,我会发布更多代码。

关于Android 自定义 LinearLayout 和膨胀 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12233550/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com